1 #ifndef  color_generic_make_green
2 #define color_generic_make_green
3 
4 // ::color::make::green( c )
5 
6 // TODO #include "model.hpp"
7 #include "../constant/green.hpp"
8 
9 
10  namespace color
11   {
12    namespace constant
13     {
14 
15      template< typename category_name >
16       struct make< ::color::constant::green_t, category_name >
17        {
18         typedef category_name                         category_type;
19         typedef ::color::model<category_type>            model_type;
20         typedef ::color::rgb<double>                       rgb_type;
21         typedef ::color::constant::green_t            constant_type;
22 
23         typedef typename ::color::trait::container<category_type>::output_type       container_output_type;
24 
processcolor::constant::make25         inline static void process( container_output_type & container )
26          {
27           static model_type  s_model{ rgb_type{ 0, 0.5, 0 } };
28           container = s_model.container();
29          }
30        };
31 
32      template< typename category_name >
33       struct make< ::color::constant::x11::green_t, category_name >
34        {
35         typedef category_name                        category_type;
36         typedef ::color::model<category_type>           model_type;
37         typedef ::color::rgb<double>                      rgb_type;
38         typedef ::color::constant::x11::green_t     constant_type;
39 
40         typedef typename ::color::trait::container<category_type>::output_type       container_output_type;
41 
processcolor::constant::make42         inline static void process( container_output_type & container )
43          {
44           static model_type  s_model{ rgb_type{ 0, 1, 0 } };
45 
46           container = s_model.container();
47          }
48        };
49 
50     }
51   }
52 
53 #endif
54