Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

CB2::RevIterator< Tcontainer, Tref, Tmemb > Class Template Reference

Generic reverse iterator class. More...

#include <utils.h>

Inheritance diagram for CB2::RevIterator< Tcontainer, Tref, Tmemb >:

CB2::Class List of all members.

Public Types

typedef RevIterator< Tcontainer,
Tref, Tmemb > 
this_type
 Template type alias.


Public Member Functions

 RevIterator (const Tcontainer &cont, const Tref &reference)
 Constructor.

const this_typeoperator-- ()
 Unadvance reverse iterator reference.

bool operator== (const this_type &it) const
 Compare reverse iterators.

bool operator!= (const this_type &it) const
const Tmemb & operator * () const
 Dereference iterators.

const Tmemb * operator-> () const

Public Attributes

int tag
 Tag for user-specific data.


Private Attributes

const Tcontainer & container
 Container reference.

Tref ref
 Current item reference.


Detailed Description

template<class Tcontainer, class Tref, class Tmemb>
class CB2::RevIterator< Tcontainer, Tref, Tmemb >

Generic reverse iterator class.

This template implements a generic reverse iterator for data items from Tcontainer. The reverse iterator refers to the items by Tref and returns the values as Tmemb.

Tcontainer must implement these methods:


Member Typedef Documentation

template<class Tcontainer, class Tref, class Tmemb>
typedef RevIterator< Tcontainer, Tref, Tmemb> CB2::RevIterator< Tcontainer, Tref, Tmemb >::this_type
 

Template type alias.


Constructor & Destructor Documentation

template<class Tcontainer, class Tref, class Tmemb>
CB2::RevIterator< Tcontainer, Tref, Tmemb >::RevIterator const Tcontainer &  cont,
const Tref &  reference
[inline]
 

Constructor.

Create a reverse iterator refering to the given item.

Parameters:
cont Container.
reference Reference to an item.


Member Function Documentation

template<class Tcontainer, class Tref, class Tmemb>
const Tmemb& CB2::RevIterator< Tcontainer, Tref, Tmemb >::operator *  )  const [inline]
 

Dereference iterators.

Get the item referenced by the iterator using container's Deref() method.

Returns:
Dereferenced value.

template<class Tcontainer, class Tref, class Tmemb>
bool CB2::RevIterator< Tcontainer, Tref, Tmemb >::operator!= const this_type it  )  const [inline]
 

template<class Tcontainer, class Tref, class Tmemb>
const this_type& CB2::RevIterator< Tcontainer, Tref, Tmemb >::operator--  )  [inline]
 

Unadvance reverse iterator reference.

Use container's RefNext() to get the reference to the succeding item.

Returns:
Reference to this.

template<class Tcontainer, class Tref, class Tmemb>
const Tmemb* CB2::RevIterator< Tcontainer, Tref, Tmemb >::operator->  )  const [inline]
 

template<class Tcontainer, class Tref, class Tmemb>
bool CB2::RevIterator< Tcontainer, Tref, Tmemb >::operator== const this_type it  )  const [inline]
 

Compare reverse iterators.

Compare reverse iterators by comparing the references.

Parameters:
it Iterator to compare with.
Returns:
Compare result.


Member Data Documentation

template<class Tcontainer, class Tref, class Tmemb>
const Tcontainer& CB2::RevIterator< Tcontainer, Tref, Tmemb >::container [private]
 

Container reference.

template<class Tcontainer, class Tref, class Tmemb>
Tref CB2::RevIterator< Tcontainer, Tref, Tmemb >::ref [private]
 

Current item reference.

int CB2::Class::tag [inherited]
 

Tag for user-specific data.


The documentation for this class was generated from the following file:
Generated on Thu Sep 16 23:26:49 2004 for ColorBox2 by doxygen 1.3.7