Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page

# color_element_type, color_element_reference_type, color_element_const_reference_type, get_color, contains_color
[Algorithms and Utility Functions]

## Detailed Description

Support for accessing the elements of a color base by color name.

get_color: Named channel accessors

Example: A function that takes a generic pixel containing a red channel and sets it to 100%:

    template <typename Pixel>
    void set_red_to_max(Pixel& pixel) {
        boost::function_requires<MutablePixelConcept<Pixel> >();
        BOOST_STATIC_ASSERT((contains_color<Pixel, red_t>::value));

        typedef typename color_element_type<Pixel, red_t>::type red_channel_t;
        get_color(pixel, red_t()) = channel_traits<red_channel_t>::max_value();
    }

## Classes

struct | contains_color
| A predicate metafunction determining whether a given color base contains a given color. More...
struct | color_element_type
| Specifies the type of the element associated with a given color tag. More...
struct | color_element_reference_type
| Specifies the return type of the mutable element accessor by color name, get_color(color_base, Color());. More...
struct | color_element_const_reference_type
| Specifies the return type of the constant element accessor by color name, get_color(color_base, Color());. More...

## Functions

template<typename ColorBase, typename Color>
color_element_reference_type < ColorBase, Color >::type | get_color (ColorBase &cb, Color=Color())
| Mutable accessor to the element associated with a given color name.
template<typename ColorBase, typename Color>
color_element_const_reference_type < ColorBase, Color >::type | get_color (const ColorBase &cb, Color=Color())
| Constant accessor to the element associated with a given color name.