1 #ifndef color_YPbPr_get_green
2 #define color_YPbPr_get_green
3 
4 // ::color::get::green( 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
green(::color::model<::color::category::YPbPr<tag_name,reference_number>> const & color_parameter)22       green( ::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 { green_p  = ::color::place::_internal::green<akin_type>::position_enum };
27 
28         return ::color::model< akin_type >( color_parameter ).template get<green_p>();
29        }
30 
31     }
32   }
33 
34 #endif
35