Milena (Olena)  User documentation 2.0a Id
colors.hh
00001 // Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
00002 // Laboratory (LRDE)
00003 //
00004 // This file is part of Olena.
00005 //
00006 // Olena is free software: you can redistribute it and/or modify it under
00007 // the terms of the GNU General Public License as published by the Free
00008 // Software Foundation, version 2 of the License.
00009 //
00010 // Olena is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with Olena.  If not, see <http://www.gnu.org/licenses/>.
00017 //
00018 // As a special exception, you may use this file as part of a free
00019 // software project without restriction.  Specifically, if other files
00020 // instantiate templates or use macros or inline functions from this
00021 // file, or you compile this file and link it with other files to produce
00022 // an executable, this file does not by itself cause the resulting
00023 // executable to be covered by the GNU General Public License.  This
00024 // exception does not however invalidate any other reasons why the
00025 // executable file might be covered by the GNU General Public License.
00026 
00027 #ifndef MLN_LITERAL_COLORS_HH
00028 # define MLN_LITERAL_COLORS_HH
00029 
00033 
00034 # include <mln/core/concept/literal.hh>
00035 
00036 namespace mln
00037 {
00038 
00039   namespace literal
00040   {
00041 
00043     struct red_t : public Literal<red_t>
00044     {
00045       // This default constructor is needed for compilation with gcc
00046       // 4.6.0, gcc 4.6.1 and Clang.
00047       red_t();
00048     };
00049 
00051     struct green_t : public Literal<green_t>
00052     {
00053       // This default constructor is needed for compilation with gcc
00054       // 4.6.0, gcc 4.6.1 and Clang.
00055       green_t();
00056     };
00057 
00059     struct blue_t : public Literal<blue_t>
00060     {
00061       // This default constructor is needed for compilation with gcc
00062       // 4.6.0, gcc 4.6.1 and Clang.
00063       blue_t();
00064     };
00065 
00067     struct brown_t : public Literal<brown_t>
00068     {
00069       // This default constructor is needed for compilation with gcc
00070       // 4.6.0, gcc 4.6.1 and Clang.
00071       brown_t();
00072     };
00073 
00075     struct lime_t : public Literal<lime_t>
00076     {
00077       // This default constructor is needed for compilation with gcc
00078       // 4.6.0, gcc 4.6.1 and Clang.
00079       lime_t();
00080     };
00081 
00083     struct orange_t : public Literal<orange_t>
00084     {
00085       // This default constructor is needed for compilation with gcc
00086       // 4.6.0, gcc 4.6.1 and Clang.
00087       orange_t();
00088     };
00089 
00091     struct pink_t : public Literal<pink_t>
00092     {
00093       // This default constructor is needed for compilation with gcc
00094       // 4.6.0, gcc 4.6.1 and Clang.
00095       pink_t();
00096     };
00097 
00099     struct purple_t : public Literal<purple_t>
00100     {
00101       // This default constructor is needed for compilation with gcc
00102       // 4.6.0, gcc 4.6.1 and Clang.
00103       purple_t();
00104     };
00105 
00107     struct teal_t : public Literal<teal_t>
00108     {
00109       // This default constructor is needed for compilation with gcc
00110       // 4.6.0, gcc 4.6.1 and Clang.
00111       teal_t();
00112     };
00113 
00115     struct violet_t : public Literal<violet_t>
00116     {
00117       // This default constructor is needed for compilation with gcc
00118       // 4.6.0, gcc 4.6.1 and Clang.
00119       violet_t();
00120     };
00121 
00123     struct cyan_t : public Literal<cyan_t>
00124     {
00125       // This default constructor is needed for compilation with gcc
00126       // 4.6.0, gcc 4.6.1 and Clang.
00127       cyan_t();
00128     };
00129 
00131     struct magenta_t : public Literal<magenta_t>
00132     {
00133       // This default constructor is needed for compilation with gcc
00134       // 4.6.0, gcc 4.6.1 and Clang.
00135       magenta_t();
00136     };
00137 
00139     struct yellow_t : public Literal<yellow_t>
00140     {
00141       // This default constructor is needed for compilation with gcc
00142       // 4.6.0, gcc 4.6.1 and Clang.
00143       yellow_t();
00144     };
00145 
00147     struct olive_t : public Literal<olive_t>
00148     {
00149       // This default constructor is needed for compilation with gcc
00150       // 4.6.0, gcc 4.6.1 and Clang.
00151       olive_t();
00152     };
00153 
00155     extern const red_t red;
00156 
00158     extern const green_t green;
00159 
00161     extern const blue_t blue;
00162 
00164     extern const brown_t brown;
00165 
00167     extern const lime_t lime;
00168 
00170     extern const orange_t orange;
00171 
00173     extern const pink_t pink;
00174 
00176     extern const purple_t purple;
00177 
00179     extern const teal_t teal;
00180 
00182     extern const violet_t violet;
00183 
00185     extern const cyan_t cyan;
00186 
00188     extern const magenta_t magenta;
00189 
00191     extern const yellow_t yellow;
00192 
00194     extern const olive_t olive;
00195 
00196 # ifndef MLN_INCLUDE_ONLY
00197 
00198     inline
00199     red_t::red_t()
00200     {
00201     }
00202 
00203     inline
00204     green_t::green_t()
00205     {
00206     }
00207 
00208     inline
00209     blue_t::blue_t()
00210     {
00211     }
00212 
00213     inline
00214     brown_t::brown_t()
00215     {
00216     }
00217 
00218     inline
00219     lime_t::lime_t()
00220     {
00221     }
00222 
00223     inline
00224     orange_t::orange_t()
00225     {
00226     }
00227 
00228     inline
00229     pink_t::pink_t()
00230     {
00231     }
00232 
00233     inline
00234     purple_t::purple_t()
00235     {
00236     }
00237 
00238     inline
00239     teal_t::teal_t()
00240     {
00241     }
00242 
00243     inline
00244     violet_t::violet_t()
00245     {
00246     }
00247 
00248     inline
00249     cyan_t::cyan_t()
00250     {
00251     }
00252 
00253     inline
00254     magenta_t::magenta_t()
00255     {
00256     }
00257 
00258     inline
00259     yellow_t::yellow_t()
00260     {
00261     }
00262 
00263     inline
00264     olive_t::olive_t()
00265     {
00266     }
00267 
00268 #  ifndef MLN_WO_GLOBAL_VARS
00269 
00270     const red_t red;
00271 
00272     const green_t green;
00273 
00274     const blue_t blue;
00275 
00276     const brown_t brown;
00277 
00278     const lime_t lime;
00279 
00280     const orange_t orange;
00281 
00282     const pink_t pink;
00283 
00284     const purple_t purple;
00285 
00286     const teal_t teal;
00287 
00288     const violet_t violet;
00289 
00290     const cyan_t cyan;
00291 
00292     const magenta_t magenta;
00293 
00294     const yellow_t yellow;
00295 
00296     const olive_t olive;
00297 
00298 #  endif
00299 
00300 # endif
00301 
00302   } // end of namespace mln::literal
00303 
00304 } // end of namespace mln
00305 
00306 // White and black are color too.
00307 # include <mln/literal/white.hh>
00308 # include <mln/literal/black.hh>
00309 
00310 #endif // ! MLN_LITERAL_COLORS_HH
 All Classes Namespaces Functions Variables Typedefs Enumerator