Generic Image Library: scoped_channel_value

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

# scoped_channel_value
[Models]

## Detailed Description

A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept.

Example:

    // Create a double channel with range [-0.5 .. 0.5]
    struct double_minus_half  { static double apply() { return -0.5; } };
    struct double_plus_half   { static double apply() { return  0.5; } };
    typedef scoped_channel_value<double, double_minus_half, double_plus_half> bits64custom_t;

    // channel_convert its maximum should map to the maximum
    bits64custom_t x = channel_traits<bits64custom_t>::max_value();
    assert(x == 0.5);
    bits16 y = channel_convert<bits16>(x);
    assert(y == 65535);

## Classes

struct | scoped_channel_value
| A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept. More...