1 #ifndef color_generic_place_red
2 #define color_generic_place_red
3 
4 // ::color::place::red<category_name>()
5 // ::color::place::_internal::red<category_name>::position_enum
6 
7 #include "../trait/index.hpp"
8 
9 
10  namespace color
11   {
12    namespace place
13     {
14      namespace _internal
15       {
16 
17        template< typename category_name >
18         struct red
19          {
20           public:
21            typedef typename ::color::trait::index< category_name >::instance_type index_instance_type;
22 
23            enum { position_enum = -1 };
24            enum { has_enum = false };
25 
positioncolor::place::_internal::red26            static /*constexpr*/ index_instance_type position()
27             {
28              return position_enum;
29             }
30          };
31 
32       }
33 
34      template< typename category_name >
35       inline
36       /*constexpr*/
37       typename ::color::trait::index< category_name >::instance_type
red()38       red()
39        {
40         return ::color::place::_internal::red<category_name>::position();
41        }
42 
43     }
44   }
45 
46 #endif
47