libpsynth 0.2.1
Public Types | Public Member Functions | Friends
psynth::sound::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 <frame_iterator_adaptor.hpp>

Inheritance diagram for psynth::sound::dereference_iterator_adaptor< Iterator, DFn >:
Inheritance graph
[legend]
Collaboration diagram for psynth::sound::dereference_iterator_adaptor< Iterator, DFn >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
boost::iterator_adaptor
< dereference_iterator_adaptor
< Iterator, DFn >, Iterator,
typename DFn::value_type,
typename std::iterator_traits
< Iterator >
::iterator_category, typename
DFn::reference,
boost::use_default > 
parent_type
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.
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

class dereference_iterator_adaptor
class boost::iterator_core_access

Detailed Description

template<typename Iterator, typename DFn>
class psynth::sound::dereference_iterator_adaptor< Iterator, DFn >

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

Models: IteratorAdaptorConcept, FrameIteratorConcept


Member Typedef Documentation

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

Constructor & Destructor Documentation

template<typename Iterator, typename DFn>
psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::dereference_iterator_adaptor ( ) [inline]
template<typename Iterator, typename DFn>
template<typename Iterator1 >
psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::dereference_iterator_adaptor ( const dereference_iterator_adaptor< Iterator1, DFn > &  dit) [inline]
template<typename Iterator, typename DFn>
psynth::sound::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 >
psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::dereference_iterator_adaptor ( const dereference_iterator_adaptor< Iterator1, DFn1 > &  it) [inline]

Member Function Documentation

template<typename Iterator, typename DFn>
Iterator& psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::base ( ) [inline]
template<typename Iterator, typename DFn>
const Iterator& psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::base ( ) const [inline]
template<typename Iterator, typename DFn>
const DFn& psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::deref_fn ( ) const [inline]
template<typename Iterator, typename DFn>
bool psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::operator!= ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const [inline]
template<typename Iterator, typename DFn>
bool psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::operator< ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const [inline]
template<typename Iterator, typename DFn>
bool psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::operator<= ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const [inline]
template<typename Iterator, typename DFn>
bool psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::operator== ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const [inline]
template<typename Iterator, typename DFn>
bool psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::operator> ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const [inline]
template<typename Iterator, typename DFn>
bool psynth::sound::dereference_iterator_adaptor< Iterator, DFn >::operator>= ( const dereference_iterator_adaptor< Iterator, DFn > &  p) const [inline]
template<typename Iterator, typename DFn>
reference psynth::sound::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>
friend class boost::iterator_core_access [friend]
template<typename Iterator, typename DFn>
friend class dereference_iterator_adaptor [friend]

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