CVR-Lib last update 20 Sep 2009

cvr::internal::debugIterator< ContainerBase< T >, constIterator > Class Template Reference

A generic debugging iterator for classes genericVector and genericMatrix. More...

#include <cvrDebugIterator.h>

List of all members.

Public Member Functions

 debugIterator ()
 debugIterator (const debugIterator &other)
template<bool b>
 debugIterator (const debugIterator< typename enable_if< Container, constIterator &&!b >::type, b > &other)
debugIterator & operator++ ()
debugIterator operator++ (int)
debugIterator & operator-- ()
debugIterator operator-- (int)
debugIterator & operator+= (const difference_type &n)
debugIterator & operator-= (const difference_type &n)
debugIterator operator+ (const difference_type &n)
debugIterator operator- (const difference_type &n)
reference operator* () const
pointer operator-> () const
reference operator[] (const difference_type &n) const
template<bool constOther>
bool operator== (const debugIterator< Container, constOther > &other) const
template<bool constOther>
bool operator!= (const debugIterator< Container, constOther > &other) const
template<bool constOther>
bool operator< (const debugIterator< Container, constOther > &other) const
template<bool constOther>
bool operator> (const debugIterator< Container, constOther > &other) const
template<bool constOther>
bool operator<= (const debugIterator< Container, constOther > &other) const
template<bool constOther>
bool operator>= (const debugIterator< Container, constOther > &other) const
template<bool constOther>
difference_type operator- (const debugIterator< Container, constOther > &other) const


Detailed Description

template<template< class > class ContainerBase, typename T, bool constIterator>
class cvr::internal::debugIterator< ContainerBase< T >, constIterator >

A generic debugging iterator for classes genericVector and genericMatrix.

See those classes for usage examples.

This iterator is compatible with those found in the STL and can thus be used with all of its functions. Specifically, this iterator is also compatible with a simple pointer which is used as a the iterator of the above containers in release mode.

Template parameters:


Constructor & Destructor Documentation

template<template< class > class ContainerBase, typename T , bool constIterator>
cvr::internal::debugIterator< ContainerBase< T >, constIterator >::debugIterator (  )  [inline]

Default constructor.

template<template< class > class ContainerBase, typename T , bool constIterator>
cvr::internal::debugIterator< ContainerBase< T >, constIterator >::debugIterator ( const debugIterator< ContainerBase< T >, constIterator > &  other  )  [inline]

Copy constructor.

template<template< class > class ContainerBase, typename T , bool constIterator>
template<bool b>
cvr::internal::debugIterator< ContainerBase< T >, constIterator >::debugIterator ( const debugIterator< typename enable_if< Container, constIterator &&!b >::type, b > &  other  )  [inline]

Copy constructor.

Construct a debugIterator with constIterator == true from other with constIterator == false and with the same Container.


Member Function Documentation

template<template< class > class ContainerBase, typename T , bool constIterator>
template<bool constOther>
bool cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator!= ( const debugIterator< Container, constOther > &  other  )  const [inline]

Compare if the pointed position of other is different from that of this.

template<template< class > class ContainerBase, typename T , bool constIterator>
reference cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator* (  )  const [inline]

Get pointed data.

template<template< class > class ContainerBase, typename T , bool constIterator>
debugIterator cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator+ ( const difference_type &  n  )  [inline]

Advance (skip) some elements.

Use this operator with care! Note that you can skip the end of the Container, and read (or even worse: write!) out of bounds!

template<template< class > class ContainerBase, typename T , bool constIterator>
debugIterator cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator++ ( int   )  [inline]

Advance to next item.

template<template< class > class ContainerBase, typename T , bool constIterator>
debugIterator& cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator++ (  )  [inline]

Advance to next item.

template<template< class > class ContainerBase, typename T , bool constIterator>
debugIterator& cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator+= ( const difference_type &  n  )  [inline]

Advance (skip) some elements.

Use this operator with care! Note that you can skip the end of the Container, and read (or even worse: write!) out of bounds!

template<template< class > class ContainerBase, typename T , bool constIterator>
template<bool constOther>
difference_type cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator- ( const debugIterator< Container, constOther > &  other  )  const [inline]

Difference between this and the other debugIterator.

template<template< class > class ContainerBase, typename T , bool constIterator>
debugIterator cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator- ( const difference_type &  n  )  [inline]

Recede (skip) some elements.

Use this operator with care! Note that you can skip the beginning of the Container, and read (or even worse: write!) out of bounds!

template<template< class > class ContainerBase, typename T , bool constIterator>
debugIterator cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator-- ( int   )  [inline]

Recede to previous item.

template<template< class > class ContainerBase, typename T , bool constIterator>
debugIterator& cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator-- (  )  [inline]

Recede to previous item.

template<template< class > class ContainerBase, typename T , bool constIterator>
debugIterator& cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator-= ( const difference_type &  n  )  [inline]

Recede (skip) some elements.

Use this operator with care! Note that you can skip the beginning of the Container, and read (or even worse: write!) out of bounds!

template<template< class > class ContainerBase, typename T , bool constIterator>
pointer cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator-> (  )  const [inline]

Get pointer to data.

template<template< class > class ContainerBase, typename T , bool constIterator>
template<bool constOther>
bool cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator< ( const debugIterator< Container, constOther > &  other  )  const [inline]

Compare if the position to by this is smaller than the position pointed to by other.

template<template< class > class ContainerBase, typename T , bool constIterator>
template<bool constOther>
bool cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator<= ( const debugIterator< Container, constOther > &  other  )  const [inline]

Compare if the position to by this is smaller or equal than the position pointed to by other.

template<template< class > class ContainerBase, typename T , bool constIterator>
template<bool constOther>
bool cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator== ( const debugIterator< Container, constOther > &  other  )  const [inline]

Compare if the pointed position of other is the same as that of this.

template<template< class > class ContainerBase, typename T , bool constIterator>
template<bool constOther>
bool cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator> ( const debugIterator< Container, constOther > &  other  )  const [inline]

Compare if the position to by this is greater than the position pointed to by other.

template<template< class > class ContainerBase, typename T , bool constIterator>
template<bool constOther>
bool cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator>= ( const debugIterator< Container, constOther > &  other  )  const [inline]

Compare if the position to by this is greater or equal than the position pointed to by other.

template<template< class > class ContainerBase, typename T , bool constIterator>
reference cvr::internal::debugIterator< ContainerBase< T >, constIterator >::operator[] ( const difference_type &  n  )  const [inline]

Access the elements relative to the debugIterator position.


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

Generated on Sun Sep 20 22:09:12 2009 for CVR-Lib by Doxygen 1.5.8