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

An adaptor over an existing iterator that provides for custom filter on dereferencing the object. More...

#include <pixel_iterator_adaptor.hpp>

Inheritance diagram for boost::gil::dereference_iterator_adaptor< Iterator, DFn >:
Collaboration diagram for boost::gil::dereference_iterator_adaptor< Iterator, DFn >:

Public Types

typedef iterator_adaptor
< dereference_iterator_adaptor
< Iterator, DFn >, Iterator,
typename DFn::value_type,
typename std::iterator_traits
< Iterator >
::iterator_category, typename
DFn::reference, use_default > 
parent_t
 
typedef DFn::result_type reference
 
typedef std::iterator_traits
< Iterator >::difference_type 
difference_type
 
typedef DFn dereference_fn
 

Public Member Functions

 dereference_iterator_adaptor ()
 
template<typename Iterator1 >
 dereference_iterator_adaptor (const dereference_iterator_adaptor< Iterator1, DFn > &dit)
 
 dereference_iterator_adaptor (Iterator it, DFn deref_fn=DFn())
 
template<typename Iterator1 , typename DFn1 >
 dereference_iterator_adaptor (const dereference_iterator_adaptor< Iterator1, DFn1 > &it)
 
reference operator[] (difference_type d) const
 For some reason operator[] provided by iterator_facade returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits. More...
 
bool operator> (const dereference_iterator_adaptor &p) const
 
bool operator< (const dereference_iterator_adaptor &p) const
 
bool operator>= (const dereference_iterator_adaptor &p) const
 
bool operator<= (const dereference_iterator_adaptor &p) const
 
bool operator== (const dereference_iterator_adaptor &p) const
 
bool operator!= (const dereference_iterator_adaptor &p) const
 
Iterator & base ()
 
const Iterator & base () const
 
const DFn & deref_fn () const
 

Friends

template<typename Iterator1 , typename DFn1 >
class dereference_iterator_adaptor
 
class boost::iterator_core_access
 

Detailed Description

template<typename Iterator, typename DFn>
class boost::gil::dereference_iterator_adaptor< Iterator, DFn >

An adaptor over an existing iterator that provides for custom filter on dereferencing the object.

Models: IteratorAdaptorConcept, PixelIteratorConcept

Member Typedef Documentation

template<typename Iterator, typename DFn>
typedef DFn boost::gil::dereference_iterator_adaptor< Iterator, DFn >::dereference_fn
template<typename Iterator, typename DFn>
typedef std::iterator_traits<Iterator>::difference_type boost::gil::dereference_iterator_adaptor< Iterator, DFn >::difference_type
template<typename Iterator, typename DFn>
typedef iterator_adaptor<dereference_iterator_adaptor<Iterator,DFn>, Iterator, typename DFn::value_type, typename std::iterator_traits<Iterator>::iterator_category, typename DFn::reference, use_default> boost::gil::dereference_iterator_adaptor< Iterator, DFn >::parent_t
template<typename Iterator, typename DFn>
typedef DFn::result_type boost::gil::dereference_iterator_adaptor< Iterator, DFn >::reference

Constructor & Destructor Documentation

template<typename Iterator, typename DFn>
boost::gil::dereference_iterator_adaptor< Iterator, DFn >::dereference_iterator_adaptor ( )
inline
template<typename Iterator, typename DFn>
template<typename Iterator1 >
boost::gil::dereference_iterator_adaptor< Iterator, DFn >::dereference_iterator_adaptor ( const dereference_iterator_adaptor< Iterator1, DFn > &  dit)
inline
template<typename Iterator, typename DFn>
boost::gil::dereference_iterator_adaptor< Iterator, DFn >::dereference_iterator_adaptor ( Iterator  it,
DFn  deref_fn = DFn() 
)
inline
template<typename Iterator, typename DFn>
template<typename Iterator1 , typename DFn1 >
boost::gil::dereference_iterator_adaptor< Iterator, DFn >::dereference_iterator_adaptor ( const dereference_iterator_adaptor< Iterator1, DFn1 > &  it)
inline

Member Function Documentation

template<typename Iterator, typename DFn>
const Iterator& boost::gil::dereference_iterator_adaptor< Iterator, DFn >::base ( ) const
inline
template<typename Iterator, typename DFn>
const DFn& boost::gil::dereference_iterator_adaptor< Iterator, DFn >::deref_fn ( ) const
inline
template<typename Iterator, typename DFn>
bool boost::gil::dereference_iterator_adaptor< Iterator, DFn >::operator!= ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const
inline
template<typename Iterator, typename DFn>
bool boost::gil::dereference_iterator_adaptor< Iterator, DFn >::operator< ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const
inline
template<typename Iterator, typename DFn>
bool boost::gil::dereference_iterator_adaptor< Iterator, DFn >::operator<= ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const
inline
template<typename Iterator, typename DFn>
bool boost::gil::dereference_iterator_adaptor< Iterator, DFn >::operator== ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const
inline
template<typename Iterator, typename DFn>
bool boost::gil::dereference_iterator_adaptor< Iterator, DFn >::operator> ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const
inline
template<typename Iterator, typename DFn>
bool boost::gil::dereference_iterator_adaptor< Iterator, DFn >::operator>= ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const
inline
template<typename Iterator, typename DFn>
reference boost::gil::dereference_iterator_adaptor< Iterator, DFn >::operator[] ( difference_type  d) const
inline

For some reason operator[] provided by iterator_facade returns a custom class that is convertible to reference We require our own reference because it is registered in iterator_traits.

Friends And Related Function Documentation

template<typename Iterator, typename DFn>
template<typename Iterator1 , typename DFn1 >
friend class dereference_iterator_adaptor
friend
template<typename Iterator, typename DFn>
friend class boost::iterator_core_access
friend

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