Boost GIL


Classes | Functions
packed_channel_reference

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

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
 

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