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

# packed_channel_reference
[Models]

## Detailed Description

Represents a reference proxy to a channel operating over a bit range whose offset is fixed at compile time. Models ChannelConcept Example:.

    // Reference to a 2-bit channel starting at bit 1 (i.e. the second bit)
    typedef const packed_channel_reference<uint16_t,1,2,true> bits2_1_ref_t;

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

## Classes

class | packed_channel_reference< BitField, FirstBit, NumBits, false >
| A constant subbyte channel reference whose bit offset is fixed at compile time. Models ChannelConcept. More...
class | packed_channel_reference< BitField, FirstBit, NumBits, true >
| A mutable subbyte channel reference whose bit offset is fixed at compile time. Models ChannelConcept. More...

## Functions

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