Traits for channels. Contains the following members:
template <typename Channel>
struct channel_traits {
typedef ... value_type;
typedef ... reference;
typedef ... pointer;
typedef ... const_reference;
typedef ... const_pointer;
static const bool is_mutable;
static value_type min_value();
static value_type max_value();
};
A channel adaptor that modifies the range of the source channel. Models: ChannelValueConcept
Example:
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;
bits64custom_t x = channel_traits<bits64custom_t>::max_value();
assert(x == 0.5);
uint16_t y = channel_convert<uint16_t>(x);
assert(y == 65535);