Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true > Class Template Reference

Models a mutable subbyte channel reference whose bit offset is a runtime parameter. More...

#include <channel.hpp>

Inheritance diagram for boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >:
Collaboration diagram for boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >:

Public Types

typedef const
packed_dynamic_channel_reference
< BitField, NumBits, false > 
const_reference
 
typedef const
packed_dynamic_channel_reference
< BitField, NumBits, true > 
mutable_reference
 
typedef parent_t::integer_t integer_t
 
typedef packed_channel_value
< NumBits > 
value_type
 
typedef const
packed_dynamic_channel_reference
< BitField, NumBits, true > 
reference
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef BitField bitfield_t
 

Public Member Functions

 packed_dynamic_channel_reference (void *data_ptr, unsigned first_bit)
 
 packed_dynamic_channel_reference (const packed_dynamic_channel_reference &ref)
 
const
packed_dynamic_channel_reference
operator= (integer_t value) const
 
const
packed_dynamic_channel_reference
operator= (const mutable_reference &ref) const
 
const
packed_dynamic_channel_reference
operator= (const const_reference &ref) const
 
template<typename BitField1 , int FirstBit1, bool Mutable1>
const
packed_dynamic_channel_reference
operator= (const packed_channel_reference< BitField1, FirstBit1, NumBits, Mutable1 > &ref) const
 
unsigned first_bit () const
 
integer_t get () const
 
void set_unsafe (integer_t value) const
 
 BOOST_STATIC_CONSTANT (int, num_bits=NumBits)
 
 BOOST_STATIC_CONSTANT (bool, is_mutable=Mutable)
 
const
packed_dynamic_channel_reference
< BitField, NumBits, true > & 
operator++ () const
 
packed_dynamic_channel_reference
< BitField, NumBits, true > 
operator++ (int) const
 
const
packed_dynamic_channel_reference
< BitField, NumBits, true > & 
operator-- () const
 
packed_dynamic_channel_reference
< BitField, NumBits, true > 
operator-- (int) const
 
const
packed_dynamic_channel_reference
< BitField, NumBits, true > & 
operator+= (Scalar2 v) const
 
const
packed_dynamic_channel_reference
< BitField, NumBits, true > & 
operator-= (Scalar2 v) const
 
const
packed_dynamic_channel_reference
< BitField, NumBits, true > & 
operator*= (Scalar2 v) const
 
const
packed_dynamic_channel_reference
< BitField, NumBits, true > & 
operator/= (Scalar2 v) const
 
 operator integer_t () const
 
data_ptr_t operator& () const
 

Static Public Member Functions

static value_type min_value ()
 
static value_type max_value ()
 

Public Attributes

data_ptr_t _data_ptr
 

Protected Types

typedef mpl::if_c< Mutable,
void *, const void * >::type 
data_ptr_t
 
typedef detail::num_value_fn
< NumBits >::type 
num_value_t
 
typedef detail::max_value_fn
< NumBits >::type 
max_value_t
 

Protected Member Functions

const bitfield_tget_data () const
 
void set_data (const bitfield_t &val) const
 

Static Protected Attributes

static const num_value_t num_values
 
static const max_value_t max_val
 

Friends

class packed_dynamic_channel_reference< BitField, NumBits, false >
 

Detailed Description

template<typename BitField, int NumBits>
class boost::gil::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

Member Typedef Documentation

typedef BitField boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::bitfield_t
inherited
typedef const value_type* boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::const_pointer
inherited
template<typename BitField , int NumBits>
typedef const packed_dynamic_channel_reference<BitField,NumBits,false> boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::const_reference
typedef mpl::if_c<Mutable,void*,const void*>::type boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::data_ptr_t
protectedinherited
template<typename BitField , int NumBits>
typedef parent_t::integer_t boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::integer_t
typedef detail::max_value_fn< NumBits >::type boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::max_value_t
protectedinherited
template<typename BitField , int NumBits>
typedef const packed_dynamic_channel_reference<BitField,NumBits,true> boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::mutable_reference
typedef detail::num_value_fn< NumBits >::type boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::num_value_t
protectedinherited
typedef value_type* boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::pointer
inherited
typedef const packed_dynamic_channel_reference< BitField, NumBits, true > boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::reference
inherited
typedef packed_channel_value<NumBits> boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::value_type
inherited

Constructor & Destructor Documentation

template<typename BitField , int NumBits>
boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::packed_dynamic_channel_reference ( void *  data_ptr,
unsigned  first_bit 
)
inline
template<typename BitField , int NumBits>
boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::packed_dynamic_channel_reference ( const packed_dynamic_channel_reference< BitField, NumBits, true > &  ref)
inline

Member Function Documentation

boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::BOOST_STATIC_CONSTANT ( int  ,
num_bits  = NumBits 
)
inherited
boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::BOOST_STATIC_CONSTANT ( bool  ,
is_mutable  = Mutable 
)
inherited
template<typename BitField , int NumBits>
unsigned boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::first_bit ( ) const
inline
template<typename BitField , int NumBits>
integer_t boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::get ( ) const
inline
const bitfield_t& boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::get_data ( ) const
inlineprotectedinherited
static value_type boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::max_value ( )
inlinestaticinherited
static value_type boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::min_value ( )
inlinestaticinherited
boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator integer_t ( ) const
inlineinherited
data_ptr_t boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator& ( ) const
inlineinherited
const packed_dynamic_channel_reference< BitField, NumBits, true > & boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator*= ( Scalar2  v) const
inlineinherited
const packed_dynamic_channel_reference< BitField, NumBits, true > & boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator++ ( void  ) const
inlineinherited
packed_dynamic_channel_reference< BitField, NumBits, true > boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator++ ( int  ) const
inlineinherited
const packed_dynamic_channel_reference< BitField, NumBits, true > & boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator+= ( Scalar2  v) const
inlineinherited
const packed_dynamic_channel_reference< BitField, NumBits, true > & boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator-- ( void  ) const
inlineinherited
packed_dynamic_channel_reference< BitField, NumBits, true > boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator-- ( int  ) const
inlineinherited
const packed_dynamic_channel_reference< BitField, NumBits, true > & boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator-= ( Scalar2  v) const
inlineinherited
const packed_dynamic_channel_reference< BitField, NumBits, true > & boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::operator/= ( Scalar2  v) const
inlineinherited
template<typename BitField , int NumBits>
const packed_dynamic_channel_reference& boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::operator= ( integer_t  value) const
inline
template<typename BitField , int NumBits>
const packed_dynamic_channel_reference& boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::operator= ( const mutable_reference ref) const
inline
template<typename BitField , int NumBits>
const packed_dynamic_channel_reference& boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::operator= ( const const_reference ref) const
inline
template<typename BitField , int NumBits>
template<typename BitField1 , int FirstBit1, bool Mutable1>
const packed_dynamic_channel_reference& boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::operator= ( const packed_channel_reference< BitField1, FirstBit1, NumBits, Mutable1 > &  ref) const
inline
void boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::set_data ( const bitfield_t val) const
inlineprotectedinherited
template<typename BitField , int NumBits>
void boost::gil::packed_dynamic_channel_reference< BitField, NumBits, true >::set_unsafe ( integer_t  value) const
inline

Friends And Related Function Documentation

template<typename BitField , int NumBits>
friend class packed_dynamic_channel_reference< BitField, NumBits, false >
friend

Member Data Documentation

data_ptr_t boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::_data_ptr
inherited
const max_value_t boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::max_val
staticprotectedinherited
const num_value_t boost::gil::detail::packed_channel_reference_base< packed_dynamic_channel_reference< BitField, NumBits, true > , BitField, NumBits, Mutable >::num_values
staticprotectedinherited

The documentation for this class was generated from the following file: