Tumble::iterators::caster< old_iterator, output_type, output_ref > Class Template Reference

Wrap an iterator, changing the output type to a subclass. So we can take a list<Mammal*> and iterate over it as if it were a list<Cow*> using a: caster<list<Mammal*>::iterator, Cow*>. More...

#include </usr1/tp517/Tumble/trunk/src/tumble/iterator_wrapper.h>

Collaboration diagram for Tumble::iterators::caster< old_iterator, output_type, output_ref >:

[legend]
List of all members.

Public Types

typedef std::iterator_traits<
old_iterator >::difference_type 
difference_type
typedef std::iterator_traits<
old_iterator >::iterator_category 
iterator_category
typedef output_type value_type
typedef output_ref reference
typedef output_type * pointer

Public Member Functions

 caster ()
 caster (const old_iterator &it)
reference operator * () const
reference operator[] (const difference_type &i) const
old_iterator base ()

Public Attributes

 define_move_operators
 define_relational_operators

Private Types

typedef caster iterator

Private Attributes

old_iterator it_

Detailed Description

template<class old_iterator, class output_type, class output_ref = output_type&>
class Tumble::iterators::caster< old_iterator, output_type, output_ref >

Wrap an iterator, changing the output type to a subclass. So we can take a list<Mammal*> and iterate over it as if it were a list<Cow*> using a: caster<list<Mammal*>::iterator, Cow*>.

!

Definition at line 56 of file iterator_wrapper.h.


Member Typedef Documentation

template<class old_iterator, class output_type, class output_ref = output_type&>
typedef caster Tumble::iterators::caster< old_iterator, output_type, output_ref >::iterator [private]

Definition at line 58 of file iterator_wrapper.h.

template<class old_iterator, class output_type, class output_ref = output_type&>
typedef std::iterator_traits<old_iterator>::difference_type Tumble::iterators::caster< old_iterator, output_type, output_ref >::difference_type

Definition at line 63 of file iterator_wrapper.h.

template<class old_iterator, class output_type, class output_ref = output_type&>
typedef std::iterator_traits<old_iterator>::iterator_category Tumble::iterators::caster< old_iterator, output_type, output_ref >::iterator_category

Definition at line 65 of file iterator_wrapper.h.

template<class old_iterator, class output_type, class output_ref = output_type&>
typedef output_type Tumble::iterators::caster< old_iterator, output_type, output_ref >::value_type

Definition at line 66 of file iterator_wrapper.h.

template<class old_iterator, class output_type, class output_ref = output_type&>
typedef output_ref Tumble::iterators::caster< old_iterator, output_type, output_ref >::reference

Definition at line 67 of file iterator_wrapper.h.

template<class old_iterator, class output_type, class output_ref = output_type&>
typedef output_type* Tumble::iterators::caster< old_iterator, output_type, output_ref >::pointer

Definition at line 68 of file iterator_wrapper.h.


Constructor & Destructor Documentation

template<class old_iterator, class output_type, class output_ref = output_type&>
Tumble::iterators::caster< old_iterator, output_type, output_ref >::caster (  )  [inline]

Definition at line 70 of file iterator_wrapper.h.

template<class old_iterator, class output_type, class output_ref = output_type&>
Tumble::iterators::caster< old_iterator, output_type, output_ref >::caster ( const old_iterator &  it  )  [inline]

Definition at line 71 of file iterator_wrapper.h.


Member Function Documentation

template<class old_iterator, class output_type, class output_ref = output_type&>
reference Tumble::iterators::caster< old_iterator, output_type, output_ref >::operator * (  )  const [inline]

Definition at line 73 of file iterator_wrapper.h.

template<class old_iterator, class output_type, class output_ref = output_type&>
reference Tumble::iterators::caster< old_iterator, output_type, output_ref >::operator[] ( const difference_type i  )  const [inline]

Definition at line 76 of file iterator_wrapper.h.

References Tumble::iterators::caster< old_iterator, output_type, output_ref >::it_.

template<class old_iterator, class output_type, class output_ref = output_type&>
old_iterator Tumble::iterators::caster< old_iterator, output_type, output_ref >::base (  )  [inline]

Definition at line 80 of file iterator_wrapper.h.

References Tumble::iterators::caster< old_iterator, output_type, output_ref >::it_.


Member Data Documentation

template<class old_iterator, class output_type, class output_ref = output_type&>
old_iterator Tumble::iterators::caster< old_iterator, output_type, output_ref >::it_ [private]

Definition at line 57 of file iterator_wrapper.h.

Referenced by Tumble::iterators::caster< old_iterator, output_type, output_ref >::base(), and Tumble::iterators::caster< old_iterator, output_type, output_ref >::operator[]().

template<class old_iterator, class output_type, class output_ref = output_type&>
Tumble::iterators::caster< old_iterator, output_type, output_ref >::define_move_operators

Definition at line 82 of file iterator_wrapper.h.

template<class old_iterator, class output_type, class output_ref = output_type&>
Tumble::iterators::caster< old_iterator, output_type, output_ref >::define_relational_operators

Definition at line 83 of file iterator_wrapper.h.


The documentation for this class was generated from the following file:
Generated on Mon May 24 09:53:35 2010 for TUMBLE by  doxygen 1.5.2