idaeim studio
 PVL: Parameter Value Language

Public Member Functions | Friends
Vectal< T >::Reverse_Iterator Class Reference

A Reverse_Iterator provides a reverse random access iterator for a Vectal. More...

#include <Vectal.hh>

List of all members.

Public Member Functions

Iterator base () const
 Convert this Reverse_Iterator to an Iterator.
 operator Base_reverse_iterator () const
 Type conversion operator to Base_reverse_iterator.
bool operator!= (const Reverse_Iterator &other_iterator) const
 Inequality operator.
T & operator* () const
 Dereference operator.
Reverse_Iterator operator+ (int distance)
 Provides an Reverse_Iterator moved backward some distance from the position of this Reverse_Iterator.
Reverse_Iteratoroperator++ ()
 Pre-increment operator.
Reverse_Iterator operator++ (int)
 Post-increment operator.
Reverse_Iteratoroperator+= (int distance)
 Moves the Reverse_Iterator position forward some distance from the position of this Reverse_Iterator.
Reverse_Iterator operator- (int distance)
 Provides an Reverse_Iterator moved backward some distance from the position of this Reverse_Iterator.
Reverse_Iterator::difference_type operator- (const Reverse_Iterator &other_iterator) const
 Distance operator.
Reverse_Iteratoroperator-- ()
 Pre-decrement operator.
Reverse_Iteratoroperator-- (int)
 Post-decrement operator.
Reverse_Iteratoroperator-= (int distance)
 Moves the Reverse_Iterator position backward some distance from the position of this Reverse_Iterator.
T * operator-> () const
 Member dereference (pointer) operator.
bool operator< (const Reverse_Iterator &other_iterator) const
 Less than operator.
bool operator<= (const Reverse_Iterator &other_iterator) const
 Less than or equal to operator.
Reverse_Iteratoroperator= (const Reverse_Iterator &other_iterator)
 Assignment operator.
bool operator== (const Reverse_Iterator &other_iterator) const
 Equality operator.
bool operator> (const Reverse_Iterator &other_iterator) const
 Greater than operator.
bool operator>= (const Reverse_Iterator &other_iterator) const
 Greater than or equal to operator.
T & operator[] (size_type index) const
 Array reference operator.
 Reverse_Iterator (const Base_reverse_iterator &base_iterator)
 Constructs a Reverse_Iterator from a Base_reverse_iterator.
 Reverse_Iterator (const Iterator &other_iterator)
 Constructs a Reverse_Iterator from an Iterator.
 Reverse_Iterator ()
 Constructs an uninitialized Iterator.
 Reverse_Iterator (const Reverse_Iterator &other_iterator)
 Constructs a copy of another Reverse_Iterator.

Friends

class Const_Reverse_Iterator
bool operator!= (const Base_reverse_iterator &base_iterator, const Reverse_Iterator &other_iterator)
 Inequality operator with a Base_reverse_iterator.

Detailed Description

template<typename T>
class idaeim::Vectal< T >::Reverse_Iterator

A Reverse_Iterator provides a reverse random access iterator for a Vectal.

A Reverse_Iterator operates the same as the Base_iterator - an interator over a vector of pointer objects - that provides the backing implementation, except that reference semantics are provided to the object pointed to rather that to the pointer.


Constructor & Destructor Documentation

Reverse_Iterator ( ) [inline]

Constructs an uninitialized Iterator.

N.B.: The iterator is invalid until assigned.

Reverse_Iterator ( const Reverse_Iterator other_iterator) [inline]

Constructs a copy of another Reverse_Iterator.

Parameters:
other_iteratorA Reverse_Iterator to be copied.
Reverse_Iterator ( const Iterator other_iterator) [inline, explicit]

Constructs a Reverse_Iterator from an Iterator.

Implements explicit type conversion.

N.B.: The Reverse_Iterator will be positioned immediately before the Iterator that was converted.

Parameters:
other_iteratorAn Iterator to be converted.
Reverse_Iterator ( const Base_reverse_iterator base_iterator) [inline]

Constructs a Reverse_Iterator from a Base_reverse_iterator.

Implements explicit type conversion.

Parameters:
base_iteratorA Base_reverse_iterator from which to construct this Reverse_Iterator.

Member Function Documentation

Reverse_Iterator& operator= ( const Reverse_Iterator other_iterator) [inline]

Assignment operator.

Parameters:
other_iteratorA Reverse_Iterator to be assigned to this Reverse_Iterator.
Returns:
This Reverse_Iterator.
Iterator base ( ) const [inline]

Convert this Reverse_Iterator to an Iterator.

operator Base_reverse_iterator ( ) const [inline]

Type conversion operator to Base_reverse_iterator.

The backing Base_reverse_iterator for this Reverse_Iterator is returned.

T& operator* ( ) const [inline]

Dereference operator.

Reference semantics are implemented, even though the backing Base_reverse_iterator operates on pointer objects.

Returns:
A reference to the value at this Reverse_Iterator's current position.
T* operator-> ( ) const [inline]

Member dereference (pointer) operator.

The semantics for a container of objects of type T are implemented, even though the backing Base_reverse_iterator operates on a container of pointers to objects of type T.

Returns:
A pointer to the value at this Reverse_Iterator's current position.
T& operator[] ( size_type  index) const [inline]

Array reference operator.

Parameters:
indexAn element index of a value in the Vectal. N.B.: The validity of the index is not checked.
Returns:
A reference to the value at the Vectal index.
Reverse_Iterator& operator++ ( ) [inline]

Pre-increment operator.

Returns:
A reference to this Reverse_Iterator after its position has been incremented.
Reverse_Iterator operator++ ( int  ) [inline]

Post-increment operator.

This Reverse_Iterator is incremented to the next position after a copy of this Reverse_Iterator has been made.

Returns:
A copy of this Reverse_Iterator at its original position.
Reverse_Iterator& operator-- ( ) [inline]

Pre-decrement operator.

Returns:
A reference to this Reverse_Iterator after its position has been decremented.
Reverse_Iterator& operator-- ( int  ) [inline]

Post-decrement operator.

This Reverse_Iterator is decremented to the previous position after a copy of this Reverse_Iterator has been made.

Returns:
A copy of this Reverse_Iterator at its original position.
Reverse_Iterator& operator+= ( int  distance) [inline]

Moves the Reverse_Iterator position forward some distance from the position of this Reverse_Iterator.

Parameters:
distanceThe distance (number of values) to move.
Returns:
This Reverse_Iterator.
Reverse_Iterator operator+ ( int  distance) [inline]

Provides an Reverse_Iterator moved backward some distance from the position of this Reverse_Iterator.

A copy of this Reverse_Iterator is made and the copy is repositioned.

Parameters:
distanceThe distance - number of values - to move.
Returns:
A copy of this Reverse_Iterator at the new position.
Reverse_Iterator& operator-= ( int  distance) [inline]

Moves the Reverse_Iterator position backward some distance from the position of this Reverse_Iterator.

Parameters:
distanceThe distance - number of values - to move.
Returns:
This Reverse_Iterator.
Reverse_Iterator operator- ( int  distance) [inline]

Provides an Reverse_Iterator moved backward some distance from the position of this Reverse_Iterator.

A copy of this Reverse_Iterator is made and the copy is repositioned.

Parameters:
distanceThe distance - number of values - to move.
Returns:
A copy of this Reverse_Iterator at the new position.
Reverse_Iterator::difference_type operator- ( const Reverse_Iterator other_iterator) const [inline]

Distance operator.

Parameters:
other_iteratorAnother Reverse_Iterator from which to obtain the distance from this Const_Iterator.
Returns:
The distance, in values, between this and the other Reverse_Iterator.
bool operator== ( const Reverse_Iterator other_iterator) const [inline]

Equality operator.

Parameters:
other_iteratorAnother Reverse_Iterator to compare with this Reverse_Iterator.
Returns:
true if the Reverse_Iterator are equal; false otherwise.
bool operator!= ( const Reverse_Iterator other_iterator) const [inline]

Inequality operator.

Parameters:
other_iteratorAnother Reverse_Iterator to compare with this Reverse_Iterator.
Returns:
true if the Reverse_Iterator are not equal; false otherwise.
bool operator< ( const Reverse_Iterator other_iterator) const [inline]

Less than operator.

Parameters:
other_iteratorAnother Reverse_Iterator to compare with this Reverse_Iterator.
Returns:
true if this Reverse_Iterator is at a position before (less than) the position of the other Reverse_Iterator; false otherwise.
bool operator<= ( const Reverse_Iterator other_iterator) const [inline]

Less than or equal to operator.

Parameters:
other_iteratorAnother Reverse_Iterator to compare with this Reverse_Iterator.
Returns:
true if this Reverse_Iterator is not at a position after the position of the other Reverse_Iterator; false otherwise.
bool operator> ( const Reverse_Iterator other_iterator) const [inline]

Greater than operator.

Parameters:
other_iteratorAnother Reverse_Iterator to compare with this Reverse_Iterator.
Returns:
true if this Reverse_Iterator is at a position after (greater than) the position of the other Reverse_Iterator; false otherwise.
bool operator>= ( const Reverse_Iterator other_iterator) const [inline]

Greater than or equal to operator.

Parameters:
other_iteratorAnother Reverse_Iterator to compare with this Reverse_Iterator.
Returns:
true if this Reverse_Iterator is not at a position before the position of the other Reverse_Iterator; false otherwise.

Friends And Related Function Documentation

friend class Const_Reverse_Iterator [friend]
bool operator!= ( const Base_reverse_iterator base_iterator,
const Reverse_Iterator other_iterator 
) [friend]

Inequality operator with a Base_reverse_iterator.

Parameters:
base_iteratorA Base_reverse_iterator to compare with another Reverse_Iterator.
other_iteratorAnother Reverse_Iterator to compare with the Base_reverse_iterator.
Returns:
true if the iterators are not equal; false otherwise.

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