ERC CISST - cisst software

vctVarStrideNArrayConstIterator< _ownerType, _forward > Class Template Reference

#include <vctVarStrideNArrayIterator.h>

Inheritance diagram for vctVarStrideNArrayConstIterator< _ownerType, _forward >:

Inheritance graph
[legend]
Collaboration diagram for vctVarStrideNArrayConstIterator< _ownerType, _forward >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class _ownerType, bool _forward>
class vctVarStrideNArrayConstIterator< _ownerType, _forward >

Parameters:
_ownerType the type of the owner of the container to which this iterator points
_forward set to true for forward iterators, false for reverse iterators
See also:
vctVarStrideNArrayIterator

Definition at line 47 of file vctVarStrideNArrayIterator.h.

Public Types

Public Member Functions

Public Attributes

Protected Member Functions

Protected Attributes


Member Typedef Documentation

template<class _ownerType, bool _forward>
typedef vctVarStrideNArrayConstIterator<_ownerType, _forward> vctVarStrideNArrayConstIterator< _ownerType, _forward >::ThisType

The type of the iterator itself.

Reimplemented in vctVarStrideNArrayIterator< _ownerType, _forward >.

Definition at line 62 of file vctVarStrideNArrayIterator.h.

template<class _ownerType, bool _forward>
typedef _ownerType vctVarStrideNArrayConstIterator< _ownerType, _forward >::OwnerType

The type of the owner of the container to which this iterator points.

Definition at line 66 of file vctVarStrideNArrayIterator.h.

template<class _ownerType, bool _forward>
typedef std::iterator<std::random_access_iterator_tag, value_type> vctVarStrideNArrayConstIterator< _ownerType, _forward >::BaseType

Base type for this iterator, i.e. std::iterator.

Reimplemented in vctVarStrideNArrayIterator< _ownerType, _forward >.

Definition at line 69 of file vctVarStrideNArrayIterator.h.

template<class _ownerType, bool _forward>
typedef BaseType::iterator_category vctVarStrideNArrayConstIterator< _ownerType, _forward >::iterator_category

Type (i.e. category) of iterator, i.e. std::random_access_iterator_tag.

Definition at line 73 of file vctVarStrideNArrayIterator.h.


Member Enumeration Documentation

template<class _ownerType, bool _forward>
anonymous enum

Define DIRECTION

Definition at line 59 of file vctVarStrideNArrayIterator.h.


Constructor & Destructor Documentation

template<class _ownerType, bool _forward>
vctVarStrideNArrayConstIterator< _ownerType, _forward >::vctVarStrideNArrayConstIterator ( void   )  [inline]

Default constructor: create an uninitialized object.

Definition at line 122 of file vctVarStrideNArrayIterator.h.

template<class _ownerType, bool _forward>
vctVarStrideNArrayConstIterator< _ownerType, _forward >::vctVarStrideNArrayConstIterator ( const OwnerType container,
difference_type  index = 0 
) [inline]

Constructor taking a non const element pointer; the starting position will be the first element of the nArray. Note that only read operations will be performed!

Definition at line 132 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer().

template<class _ownerType, bool _forward>
vctVarStrideNArrayConstIterator< _ownerType, _forward >::vctVarStrideNArrayConstIterator ( const ThisType other  )  [inline]

Copy constructor

Definition at line 141 of file vctVarStrideNArrayIterator.h.


Member Function Documentation

template<class _ownerType, bool _forward>
void vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer ( void   )  [inline, protected]

Auxiliary method to calculate the correct ElementPointer corresponding to the current MetaIndex. See the complete documentation for a detailed description of this algorithm.

Definition at line 95 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::ContainerOwner, vctVarStrideNArrayConstIterator< _ownerType, _forward >::ElementPointer, and vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex.

Referenced by vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator++(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator++(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator+=(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator+=(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator--(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator--(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator-=(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator-=(), and vctVarStrideNArrayConstIterator< _ownerType, _forward >::vctVarStrideNArrayConstIterator().

template<class _ownerType, bool _forward>
ThisType& vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator= ( const ThisType other  )  [inline]

Assignment

Definition at line 149 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::ContainerOwner, vctVarStrideNArrayConstIterator< _ownerType, _forward >::ElementPointer, and vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex.

template<class _ownerType, bool _forward>
ThisType& vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator++ ( void   )  [inline]

Pre-increment.

Definition at line 159 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex, and vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer().

template<class _ownerType, bool _forward>
ThisType vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator++ ( int   )  [inline]

Post-increment.

Definition at line 168 of file vctVarStrideNArrayIterator.h.

template<class _ownerType, bool _forward>
ThisType& vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator-- ( void   )  [inline]

Pre-decrement.

Definition at line 177 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex, and vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer().

template<class _ownerType, bool _forward>
ThisType vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator-- ( int   )  [inline]

Post-decrement.

Definition at line 186 of file vctVarStrideNArrayIterator.h.

template<class _ownerType, bool _forward>
ThisType& vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator+= ( difference_type  difference  )  [inline]

Increment by offset.

Parameters:
difference offset to increment by

Definition at line 197 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex, and vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer().

template<class _ownerType, bool _forward>
ThisType& vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator-= ( difference_type  difference  )  [inline]

Decrement by offset.

Parameters:
difference offset to decrement by

Definition at line 208 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex, and vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer().

template<class _ownerType, bool _forward>
difference_type vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator- ( const ThisType other  )  const [inline]

Subtraction between iterators returns the number of increments needed for the second operand to reach the first operand, if it is reachable.

Note:
this operation assumes reachability and does not test for it.

Definition at line 220 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex.

template<class _ownerType, bool _forward>
const value_type& vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator[] ( difference_type  index  )  const [inline]

Random access (return const reference).

Definition at line 227 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::ContainerOwner, and vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex.

template<class _ownerType, bool _forward>
const value_type& vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator * ( void   )  const [inline]

Dereference (const).

Definition at line 253 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::ElementPointer.

template<class _ownerType, bool _forward>
bool vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator== ( const ThisType other  )  const [inline]

Equality of iterators, required by STL.

Definition at line 260 of file vctVarStrideNArrayIterator.h.

References vctVarStrideNArrayConstIterator< _ownerType, _forward >::ContainerOwner, vctVarStrideNArrayConstIterator< _ownerType, _forward >::ElementPointer, and vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex.

template<class _ownerType, bool _forward>
bool vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator!= ( const ThisType other  )  const [inline]

Complementary operation to operator==.

Definition at line 270 of file vctVarStrideNArrayIterator.h.

template<class _ownerType, bool _forward>
bool vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator< ( const ThisType other  )  const [inline]

Order relation between iterators, required by STL.

Note:
The STL manual states that "if j is reachable from i then i<j". This does not imply the converse: "if i<j then j is reachable from i". In the case here, the converse does not hold.

Definition at line 283 of file vctVarStrideNArrayIterator.h.

template<class _ownerType, bool _forward>
bool vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator> ( const ThisType other  )  const [inline]

Complementary operation to operator <.

Definition at line 290 of file vctVarStrideNArrayIterator.h.


Member Data Documentation

template<class _ownerType, bool _forward>
const OwnerType* vctVarStrideNArrayConstIterator< _ownerType, _forward >::ContainerOwner [protected]

Pointer to the address of the container being referred to by this iterator.

Definition at line 78 of file vctVarStrideNArrayIterator.h.

Referenced by vctVarStrideNArrayIterator< _ownerType, _forward >::operator=(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator=(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator==(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator[](), vctVarStrideNArrayIterator< _ownerType, _forward >::operator[](), and vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer().

template<class _ownerType, bool _forward>
difference_type vctVarStrideNArrayConstIterator< _ownerType, _forward >::MetaIndex [protected]

Pseudo-index for the iterator. See complete documentation for a thorough discussion of this "meta index".

Definition at line 82 of file vctVarStrideNArrayIterator.h.

Referenced by vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator++(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator++(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator+=(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator+=(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator-(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator--(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator--(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator-=(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator-=(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator=(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator=(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator==(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator[](), vctVarStrideNArrayIterator< _ownerType, _forward >::operator[](), and vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer().

template<class _ownerType, bool _forward>
value_type* vctVarStrideNArrayConstIterator< _ownerType, _forward >::ElementPointer [protected]

Pointer to the object being referred to by this iterator. It is not declared const, so we will be able to use it in the non const iterator class. But all the methods in vctVarStrideNArrayConstIterator are declared const to protect the data from writing.

Definition at line 89 of file vctVarStrideNArrayIterator.h.

Referenced by vctVarStrideNArrayIterator< _ownerType, _forward >::operator *(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator *(), vctVarStrideNArrayIterator< _ownerType, _forward >::operator=(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator=(), vctVarStrideNArrayConstIterator< _ownerType, _forward >::operator==(), and vctVarStrideNArrayConstIterator< _ownerType, _forward >::UpdateElementPointer().


The documentation for this class was generated from the following file:
erc-cisst-devel<at>lists.johnshopkins.edu