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

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

Generic iterator class. More...

#include <utils.h>

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

CB2::Class List of all members.

Public Types

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


Public Member Functions

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

const this_typeoperator++ ()
 Advance iterator reference.

bool operator== (const this_type &it) const
 Compare 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::Iterator< Tcontainer, Tref, Tmemb >

Generic iterator class.

This template implements a generic iterator for data items from Tcontainer. The 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 Iterator< Tcontainer, Tref, Tmemb> CB2::Iterator< Tcontainer, Tref, Tmemb >::this_type
 

Template type alias.


Constructor & Destructor Documentation

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

Constructor.

Create an 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::Iterator< 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::Iterator< Tcontainer, Tref, Tmemb >::operator!= const this_type it  )  const [inline]
 

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

Advance 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::Iterator< Tcontainer, Tref, Tmemb >::operator->  )  const [inline]
 

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

Compare iterators.

Compare 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::Iterator< Tcontainer, Tref, Tmemb >::container [private]
 

Container reference.

template<class Tcontainer, class Tref, class Tmemb>
Tref CB2::Iterator< 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