Boost GIL


Classes | Functions
packed_dynamic_channel_reference

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

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
 

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