1 #ifndef color_YPbPr_get_red 2 #define color_YPbPr_get_red 3 4 // ::color::get::red( c ) 5 6 #include "../../rgb/place/place.hpp" 7 #include "../../rgb/akin/YPbPr.hpp" 8 #include "../../rgb/trait/component.hpp" 9 10 #include "../category.hpp" 11 12 13 14 namespace color 15 { 16 namespace get 17 { 18 19 template< typename tag_name, ::color::constant::YPbPr::reference_enum reference_number > 20 inline 21 typename ::color::trait::component< typename ::color::akin::rgb< ::color::category::YPbPr<tag_name,reference_number> >::akin_type >::return_type red(::color::model<::color::category::YPbPr<tag_name,reference_number>> const & color_parameter)22 red( ::color::model< ::color::category::YPbPr< tag_name, reference_number> > const& color_parameter ) 23 { 24 typedef ::color::category::YPbPr< tag_name,reference_number > category_type; 25 typedef typename ::color::akin::rgb<category_type>::akin_type akin_type; 26 enum { red_p = ::color::place::_internal::red<akin_type>::position_enum }; 27 28 return ::color::model< akin_type >( color_parameter ).template get<red_p>(); 29 } 30 31 } 32 } 33 34 #endif 35