1 #ifndef color_cmyk_convert_luv 2 #define color_cmyk_convert_luv 3 4 #include "../../_internal/convert.hpp" 5 6 #include "../category.hpp" 7 8 9 #include "../../luv/luv.hpp" 10 #include "../../xyz/xyz.hpp" 11 #include "../../rgb/rgb.hpp" 12 13 namespace color 14 { 15 namespace _internal 16 { 17 18 template 19 < 20 typename cmyk_tag_name 21 ,typename luv_tag_name 22 > 23 struct convert 24 < 25 ::color::category::cmyk< cmyk_tag_name > 26 ,::color::category::luv< luv_tag_name > 27 > 28 { 29 public: 30 typedef ::color::category::cmyk< cmyk_tag_name > cmyk_category_type, category_left_type; 31 typedef ::color::category::luv< luv_tag_name > luv_category_type, category_right_type; 32 33 typedef typename ::color::trait::scalar<category_left_type>::instance_type scalar_type; 34 35 typedef ::color::model< cmyk_category_type > cmyk_model_type; 36 typedef ::color::model< luv_category_type > luv_model_type; 37 38 typedef ::color::rgb< scalar_type > rgb_model_type; 39 typedef ::color::xyz< scalar_type > xyz_model_type; 40 41 typedef ::color::trait::container<category_left_type> container_left_trait_type; 42 typedef ::color::trait::container<category_right_type> container_right_trait_type; 43 44 typedef typename container_left_trait_type::input_type container_left_input_type; 45 typedef typename container_right_trait_type::model_type container_right_const_input_type; 46 processcolor::_internal::convert47 static void process 48 ( 49 container_left_input_type left 50 ,container_right_const_input_type right 51 ) 52 { 53 left = cmyk_model_type( rgb_model_type( xyz_model_type( luv_model_type( right ) ) ) ).container(); 54 } 55 }; 56 57 } 58 } 59 60 #endif 61