1 #ifndef color_trait_component
2 #define color_trait_component
3 
4 // ::color::trait::component< category >
5 
6 #include "./index.hpp" //!< non-homogen formats
7 
8 namespace color
9  {
10   namespace trait
11    {
12 
13     template< typename category_name , unsigned index_size = 0 >
14      struct component
15       {
16        public:
17          typedef unsigned char          instance_type;
18          typedef instance_type  const   const_type;
19 
20          typedef instance_type  const   return_image_type;
21          typedef instance_type          return_type;
22          typedef instance_type  const&  return_original_type;
23 
24          typedef instance_type const&   model_type;
25          typedef instance_type      &   input_type;
26 
27          typedef instance_type const*   pointer_const_type;
28          typedef instance_type      *   pointer_type;
29 
30          // typedef ::color::trait::index< category_name >      index_trait_type;
31          // typedef typename index_trait_type::instance_type    index_instance_type;
32          // typedef typename index_trait_type::model_type index_input_const_type;
33 
34       };
35 
36    }
37  }
38 
39 #endif
40