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

# ChannelConcept Struct Template Reference
[Concepts]

`#include <gil_concept.hpp>`

List of all members.

## Detailed Description

### template<typename T>
struct boost::gil::ChannelConcept< T >

A channel is the building block of a color. Color is defined as a mixture of primary colors and a channel defines the degree to which each primary color is used in the mixture.

Channel CONCEPTS For example, in the RGB color space, using 8-bit unsigned channels, the color red is defined as [255 0 0], which means maximum of Red, and no Green and Blue.

Built-in scalar types, such as `int` and `float`, are valid GIL channels. In more complex scenarios, channels may be represented as bit ranges or even individual bits. In such cases special classes are needed to represent the value and reference to a channel.

Channels have a traits class, `channel_traits`, which defines their associated types as well as their operating ranges.

    concept ChannelConcept<typename T> : EqualityComparable<T> {
        typename value_type      = T;        // use channel_traits<T>::value_type to access it
        typename reference       = T&;       // use channel_traits<T>::reference to access it
        typename pointer         = T*;       // use channel_traits<T>::pointer to access it
        typename const_reference = const T&; // use channel_traits<T>::const_reference to access it
        typename const_pointer   = const T*; // use channel_traits<T>::const_pointer to access it
        static const bool is_mutable;        // use channel_traits<T>::is_mutable to access it

        static T min_value();                // use channel_traits<T>::min_value to access it
        static T max_value();                // use channel_traits<T>::min_value to access it
    };

## Public Member Functions

void | constraints ()

## Public Attributes

T | c

The documentation for this struct was generated from the following file:

- gil_concept.hpp