Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable > Struct Template Reference

Heterogeneous pixel reference corresponding to non-byte-aligned bit range. More...

#include <metafunctions.hpp>

Public Types

typedef boost::gil::bit_range
< bit_size, IsMutable > 
bit_range_t
 
typedef BitField bitfield_t
 
typedef mpl::if_c< IsMutable,
unsigned char *, const
unsigned char * >::type 
data_ptr_t
 
typedef Layout layout_t
 
typedef packed_pixel_type
< bitfield_t, ChannelBitSizes,
Layout >::type 
value_type
 
typedef const
bit_aligned_pixel_reference 
reference
 
typedef const
bit_aligned_pixel_reference
< BitField, ChannelBitSizes,
Layout, false > 
const_reference
 

Public Member Functions

 BOOST_STATIC_CONSTANT (int, bit_size=(mpl::accumulate< ChannelBitSizes, mpl::int_< 0 >, mpl::plus< mpl::_1, mpl::_2 > >::type::value))
 
 BOOST_STATIC_CONSTANT (bool, is_mutable=IsMutable)
 
 bit_aligned_pixel_reference ()
 
 bit_aligned_pixel_reference (data_ptr_t data_ptr, int bit_offset)
 
 bit_aligned_pixel_reference (const bit_range_t &bit_range)
 
template<bool IsMutable2>
 bit_aligned_pixel_reference (const bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable2 > &p)
 
 bit_aligned_pixel_reference (const typename kth_element_type< bit_aligned_pixel_reference, 0 >::type channel0)
 
 bit_aligned_pixel_reference (const bit_aligned_pixel_reference &p)
 
template<typename BF , typename CR >
 bit_aligned_pixel_reference (packed_pixel< BF, CR, Layout > &p)
 
const bit_aligned_pixel_referenceoperator= (const bit_aligned_pixel_reference &p) const
 
template<typename P >
const bit_aligned_pixel_referenceoperator= (const P &p) const
 
template<typename P >
bool operator== (const P &p) const
 
template<typename P >
bool operator!= (const P &p) const
 
const bit_aligned_pixel_referenceoperator-> () const
 
const bit_range_tbit_range () const
 

Friends

template<typename B , typename C , typename L , bool M>
struct bit_aligned_pixel_reference
 

Detailed Description

template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
struct boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >

Heterogeneous pixel reference corresponding to non-byte-aligned bit range.

Models ColorBaseConcept, PixelConcept, PixelBasedConcept

Member Typedef Documentation

template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
typedef boost::gil::bit_range<bit_size,IsMutable> boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_range_t
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
typedef BitField boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bitfield_t
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
typedef const bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false> boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::const_reference
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
typedef mpl::if_c<IsMutable,unsigned char*,const unsigned char*>::type boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::data_ptr_t
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
typedef Layout boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::layout_t
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
typedef const bit_aligned_pixel_reference boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::reference
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
typedef packed_pixel_type<bitfield_t,ChannelBitSizes,Layout>::type boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::value_type

Constructor & Destructor Documentation

template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_aligned_pixel_reference ( )
inline
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_aligned_pixel_reference ( data_ptr_t  data_ptr,
int  bit_offset 
)
inline
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_aligned_pixel_reference ( const bit_range_t bit_range)
inlineexplicit
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
template<bool IsMutable2>
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_aligned_pixel_reference ( const bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable2 > &  p)
inline
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_aligned_pixel_reference ( const typename kth_element_type< bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >, 0 >::type  channel0)
inlineexplicit
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_aligned_pixel_reference ( const bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable > &  p)
inline
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
template<typename BF , typename CR >
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_aligned_pixel_reference ( packed_pixel< BF, CR, Layout > &  p)
inline

Member Function Documentation

template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
const bit_range_t& boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::bit_range ( ) const
inline

Referenced by boost::gil::at_c().

template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::BOOST_STATIC_CONSTANT ( int  ,
bit_size  = (mpl::accumulate< ChannelBitSizes, mpl::int_< 0 >, mpl::plus< mpl::_1, mpl::_2 > >::type::value) 
)
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::BOOST_STATIC_CONSTANT ( bool  ,
is_mutable  = IsMutable 
)
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
template<typename P >
bool boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::operator!= ( const P &  p) const
inline
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
const bit_aligned_pixel_reference* boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::operator-> ( ) const
inline
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
const bit_aligned_pixel_reference& boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::operator= ( const bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable > &  p) const
inline
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
template<typename P >
const bit_aligned_pixel_reference& boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::operator= ( const P &  p) const
inline
template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
template<typename P >
bool boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >::operator== ( const P &  p) const
inline

Friends And Related Function Documentation

template<typename BitField, typename ChannelBitSizes, typename Layout, bool IsMutable>
template<typename B , typename C , typename L , bool M>
friend struct bit_aligned_pixel_reference
friend

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