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

# packed_dynamic_channel_reference
[Models]

## Detailed Description

Represents a reference proxy to a channel operating over a bit range whose offset is specified at run time. Models ChannelConcept.

Example:

    // Reference to a 2-bit channel whose offset is specified at construction time
    typedef const packed_dynamic_channel_reference<uint8_t,2,true> bits2_dynamic_ref_t;

    uint16_t data=0;
    bits2_dynamic_ref_t channel_ref(&data,1);
    channel_ref = channel_traits<bits2_dynamic_ref_t>::max_value();     // == 3
    assert(data == 6);                                                  // == (3<<1) == 6

## Classes

class | packed_dynamic_channel_reference< BitField, NumBits, false >
| Models a constant subbyte channel reference whose bit offset is a runtime parameter. Models ChannelConcept Same as packed_channel_reference, except that the offset is a runtime parameter. More...
class | packed_dynamic_channel_reference< BitField, NumBits, true >
| Models a mutable subbyte channel reference whose bit offset is a runtime parameter. Models ChannelConcept Same as packed_channel_reference, except that the offset is a runtime parameter. More...

## Functions

template<typename BF, int NB, bool M, typename R>
void | swap (const boost::gil::packed_dynamic_channel_reference< BF, NB, M > x, R &y)
| swap for packed_dynamic_channel_reference
template<typename BF, int NB, bool M>
void | swap (typename boost::gil::packed_dynamic_channel_reference< BF, NB, M >::value_type &x, const boost::gil::packed_dynamic_channel_reference< BF, NB, M > y)
| swap for packed_dynamic_channel_reference
template<typename BF, int NB, bool M>
void | swap (const boost::gil::packed_dynamic_channel_reference< BF, NB, M > x, const boost::gil::packed_dynamic_channel_reference< BF, NB, M > y)
| swap for packed_dynamic_channel_reference