TuttleOFX  1
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout > Struct Template Reference

Heterogeneous pixel value whose channel references can be constructed from the pixel bitfield and their index. Models ColorBaseValueConcept, PixelValueConcept, PixelBasedConcept Typical use for this is a model of a packed pixel (like 565 RGB) More...

#include <packed_pixel.hpp>

Public Types

typedef Layout layout_t
typedef packed_pixel value_type
typedef value_typereference
typedef const value_typeconst_reference
typedef Layout layout_t
typedef packed_pixel value_type
typedef value_typereference
typedef const value_typeconst_reference

Public Member Functions

 BOOST_STATIC_CONSTANT (bool, is_mutable=channel_traits< typename mpl::front< ChannelRefVec >::type >::is_mutable)
 packed_pixel ()
 packed_pixel (const BitField &bitfield)
 packed_pixel (const packed_pixel &p)
template<typename P >
 packed_pixel (const P &p, typename enable_if_c< is_pixel< P >::value >::type *d=0)
 packed_pixel (int chan0, int chan1)
 packed_pixel (int chan0, int chan1, int chan2)
 packed_pixel (int chan0, int chan1, int chan2, int chan3)
 packed_pixel (int chan0, int chan1, int chan2, int chan3, int chan4)
packed_pixeloperator= (const packed_pixel &p)
template<typename P >
packed_pixeloperator= (const P &p)
template<typename P >
bool operator== (const P &p) const
template<typename P >
bool operator!= (const P &p) const
packed_pixeloperator= (int chan)
bool operator== (int chan) const
 BOOST_STATIC_CONSTANT (bool, is_mutable=channel_traits< typename mpl::front< ChannelRefVec >::type >::is_mutable)
 packed_pixel ()
 packed_pixel (const BitField &bitfield)
 packed_pixel (const packed_pixel &p)
template<typename P >
 packed_pixel (const P &p, typename enable_if_c< is_pixel< P >::value >::type *d=0)
 packed_pixel (int chan0, int chan1)
 packed_pixel (int chan0, int chan1, int chan2)
 packed_pixel (int chan0, int chan1, int chan2, int chan3)
 packed_pixel (int chan0, int chan1, int chan2, int chan3, int chan4)
packed_pixeloperator= (const packed_pixel &p)
template<typename P >
packed_pixeloperator= (const P &p)
template<typename P >
bool operator== (const P &p) const
template<typename P >
bool operator!= (const P &p) const
packed_pixeloperator= (int chan)
bool operator== (int chan) const

Data Fields

BitField _bitfield

Private Member Functions

template<typename Pixel >
void assign (const Pixel &p, mpl::true_)
template<typename Pixel >
bool equal (const Pixel &p, mpl::true_) const
template<typename Channel >
void assign (const Channel &chan, mpl::false_)
template<typename Channel >
bool equal (const Channel &chan, mpl::false_) const
template<typename Pixel >
void assign (const Pixel &p, mpl::true_)
template<typename Pixel >
bool equal (const Pixel &p, mpl::true_) const
template<typename Channel >
void assign (const Channel &chan, mpl::false_)
template<typename Channel >
bool equal (const Channel &chan, mpl::false_) const

Static Private Member Functions

template<typename Pixel >
static void check_compatible ()
static void check_gray ()
template<typename Pixel >
static void check_compatible ()
static void check_gray ()

Detailed Description

template<typename BitField, typename ChannelRefVec, typename Layout>
struct boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >

Heterogeneous pixel value whose channel references can be constructed from the pixel bitfield and their index. Models ColorBaseValueConcept, PixelValueConcept, PixelBasedConcept Typical use for this is a model of a packed pixel (like 565 RGB)

Definition at line 64 of file packed_pixel.hpp.


Member Typedef Documentation

template<typename BitField, typename ChannelRefVec, typename Layout>
typedef const value_type& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::const_reference

Definition at line 71 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
typedef const value_type& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::const_reference

Definition at line 71 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
typedef Layout boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::layout_t

Definition at line 68 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
typedef Layout boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::layout_t

Definition at line 68 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
typedef value_type& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::reference

Definition at line 70 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
typedef value_type& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::reference

Definition at line 70 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
typedef packed_pixel boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::value_type

Definition at line 69 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
typedef packed_pixel boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::value_type

Definition at line 69 of file packed_pixel.hpp.


Constructor & Destructor Documentation

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( ) [inline]

Definition at line 75 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( const BitField &  bitfield) [inline, explicit]

Definition at line 76 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( const packed_pixel< BitField, ChannelRefVec, Layout > &  p) [inline]

Definition at line 79 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename P >
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( const P &  p,
typename enable_if_c< is_pixel< P >::value >::type *  d = 0 
) [inline]

Definition at line 81 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( int  chan0,
int  chan1 
) [inline]

Definition at line 82 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( int  chan0,
int  chan1,
int  chan2 
) [inline]

Definition at line 88 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( int  chan0,
int  chan1,
int  chan2,
int  chan3 
) [inline]

Definition at line 94 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( int  chan0,
int  chan1,
int  chan2,
int  chan3,
int  chan4 
) [inline]

Definition at line 100 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( ) [inline]

Definition at line 75 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( const BitField &  bitfield) [inline, explicit]

Definition at line 76 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( const packed_pixel< BitField, ChannelRefVec, Layout > &  p) [inline]

Definition at line 79 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename P >
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( const P &  p,
typename enable_if_c< is_pixel< P >::value >::type *  d = 0 
) [inline]

Definition at line 81 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( int  chan0,
int  chan1 
) [inline]

Definition at line 82 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( int  chan0,
int  chan1,
int  chan2 
) [inline]

Definition at line 88 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( int  chan0,
int  chan1,
int  chan2,
int  chan3 
) [inline]

Definition at line 94 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::packed_pixel ( int  chan0,
int  chan1,
int  chan2,
int  chan3,
int  chan4 
) [inline]

Definition at line 100 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:


Member Function Documentation

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Pixel >
void boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::assign ( const Pixel &  p,
mpl::true_   
) [inline, private]
template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Pixel >
void boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::assign ( const Pixel &  p,
mpl::true_   
) [inline, private]

Definition at line 120 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Channel >
void boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::assign ( const Channel &  chan,
mpl::false_   
) [inline, private]

Definition at line 127 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Channel >
void boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::assign ( const Channel &  chan,
mpl::false_   
) [inline, private]

Definition at line 127 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::BOOST_STATIC_CONSTANT ( bool  ,
is_mutable  = channel_traits< typename mpl::front< ChannelRefVec >::type >::is_mutable 
)
template<typename BitField, typename ChannelRefVec, typename Layout>
boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::BOOST_STATIC_CONSTANT ( bool  ,
is_mutable  = channel_traits< typename mpl::front< ChannelRefVec >::type >::is_mutable 
)
template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Pixel >
static void boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_compatible ( ) [inline, static, private]

Definition at line 118 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Pixel >
static void boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_compatible ( ) [inline, static, private]

Definition at line 118 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
static void boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray ( ) [inline, static, private]
template<typename BitField, typename ChannelRefVec, typename Layout>
static void boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray ( ) [inline, static, private]

Definition at line 125 of file packed_pixel.hpp.

References BOOST_STATIC_ASSERT().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Pixel >
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::equal ( const Pixel &  p,
mpl::true_   
) const [inline, private]
template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Pixel >
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::equal ( const Pixel &  p,
mpl::true_   
) const [inline, private]

Definition at line 122 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Channel >
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::equal ( const Channel &  chan,
mpl::false_   
) const [inline, private]

Definition at line 129 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename Channel >
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::equal ( const Channel &  chan,
mpl::false_   
) const [inline, private]

Definition at line 129 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename P >
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator!= ( const P &  p) const [inline]

Definition at line 114 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename P >
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator!= ( const P &  p) const [inline]

Definition at line 114 of file packed_pixel.hpp.

template<typename BitField, typename ChannelRefVec, typename Layout>
packed_pixel& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator= ( const packed_pixel< BitField, ChannelRefVec, Layout > &  p) [inline]
template<typename BitField, typename ChannelRefVec, typename Layout>
packed_pixel& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator= ( const packed_pixel< BitField, ChannelRefVec, Layout > &  p) [inline]
template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename P >
packed_pixel& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator= ( const P &  p) [inline]

Definition at line 109 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::assign().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename P >
packed_pixel& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator= ( const P &  p) [inline]

Definition at line 109 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::assign().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
packed_pixel& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator= ( int  chan) [inline]

Definition at line 132 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
packed_pixel& boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator= ( int  chan) [inline]

Definition at line 132 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename P >
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator== ( const P &  p) const [inline]

Definition at line 111 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::equal().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
template<typename P >
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator== ( const P &  p) const [inline]

Definition at line 111 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::equal().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator== ( int  chan) const [inline]

Definition at line 133 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray().

Here is the call graph for this function:

template<typename BitField, typename ChannelRefVec, typename Layout>
bool boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::operator== ( int  chan) const [inline]

Definition at line 133 of file packed_pixel.hpp.

References boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::check_gray().

Here is the call graph for this function:


Field Documentation

template<typename BitField, typename ChannelRefVec, typename Layout>
BitField boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >::_bitfield

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