Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::gil::detail::nth_channel_deref_fn< SrcP > Struct Template Reference

Function object that returns a grayscale reference of the N-th channel of a given reference. More...

#include <image_view_factory.hpp>

Public Types

typedef nth_channel_deref_fn
< const_ref_t > 
const_t
 
typedef pixel_value_type
< channel_t, gray_layout_t >
::type 
value_type
 
typedef pixel_reference_type
< channel_t, gray_layout_t,
false, false >::type 
const_reference
 
typedef SrcP argument_type
 
typedef mpl::if_c< is_mutable,
ref_t, value_type >::type 
reference
 
typedef reference result_type
 

Public Member Functions

 BOOST_STATIC_CONSTANT (bool, is_mutable=pixel_is_reference< SrcP >::value &&pixel_reference_is_mutable< SrcP >::value)
 
 nth_channel_deref_fn (int n=0)
 
template<typename P >
 nth_channel_deref_fn (const nth_channel_deref_fn< P > &d)
 
result_type operator() (argument_type srcP) const
 

Public Attributes

int _n
 

Detailed Description

template<typename SrcP>
struct boost::gil::detail::nth_channel_deref_fn< SrcP >

Function object that returns a grayscale reference of the N-th channel of a given reference.

Models: PixelDereferenceAdaptorConcept.

If the input is a pixel value or constant reference, the function object is immutable. Otherwise it is mutable (and returns non-const reference to the n-th channel)

Member Typedef Documentation

template<typename SrcP>
typedef SrcP boost::gil::detail::nth_channel_deref_fn< SrcP >::argument_type
template<typename SrcP>
typedef pixel_reference_type<channel_t,gray_layout_t,false,false>::type boost::gil::detail::nth_channel_deref_fn< SrcP >::const_reference
template<typename SrcP>
typedef nth_channel_deref_fn<const_ref_t> boost::gil::detail::nth_channel_deref_fn< SrcP >::const_t
template<typename SrcP>
typedef mpl::if_c<is_mutable, ref_t, value_type>::type boost::gil::detail::nth_channel_deref_fn< SrcP >::reference
template<typename SrcP>
typedef reference boost::gil::detail::nth_channel_deref_fn< SrcP >::result_type
template<typename SrcP>
typedef pixel_value_type<channel_t,gray_layout_t>::type boost::gil::detail::nth_channel_deref_fn< SrcP >::value_type

Constructor & Destructor Documentation

template<typename SrcP>
boost::gil::detail::nth_channel_deref_fn< SrcP >::nth_channel_deref_fn ( int  n = 0)
inline
template<typename SrcP>
template<typename P >
boost::gil::detail::nth_channel_deref_fn< SrcP >::nth_channel_deref_fn ( const nth_channel_deref_fn< P > &  d)
inline

Member Function Documentation

template<typename SrcP>
boost::gil::detail::nth_channel_deref_fn< SrcP >::BOOST_STATIC_CONSTANT ( bool  ,
is_mutable  = pixel_is_reference< SrcP >::value &&pixel_reference_is_mutable< SrcP >::value 
)
template<typename SrcP>
result_type boost::gil::detail::nth_channel_deref_fn< SrcP >::operator() ( argument_type  srcP) const
inline

Member Data Documentation

template<typename SrcP>
int boost::gil::detail::nth_channel_deref_fn< SrcP >::_n

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