Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
concepts::_Matrix_iterator< _Tp, _Ref, _Ptr > Class Template Reference

STL iterator for matrices. More...

#include <matrixIterator.hh>

Inheritance diagram for concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >:
Inheritance graph
[legend]
Collaboration diagram for concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >:
Collaboration graph
[legend]

List of all members.

Classes

struct  MatrixType
 Non-constant matrix for non-constant iterator. More...
struct  MatrixType< _Tp_, const _Tp_ &, const _Tp_ * >
 Constant matrix for constant iterator. More...

Public Types

typedef _Matrix_iterator_base
< _Tp, _Ref, _Ptr > 
_Base
typedef _Matrix_iterator _Self
typedef _Matrix_iterator< _Tp,
const _Tp &, const _Tp * > 
const_iterator
typedef ptrdiff_t difference_type
typedef _Matrix_iterator< _Tp,
_Tp &, _Tp * > 
iterator
typedef
std::random_access_iterator_tag 
iterator_category
typedef MatrixType< _Tp, _Ref,
_Ptr >::type 
matrix_type
typedef _Ptr pointer
typedef _Ref reference
typedef _Base::return_type return_type
typedef size_t size_type
typedef _Tp value_type

Public Member Functions

 _Matrix_iterator (matrix_type &m, const uint r=0, const uint c=0)
 Constructor.
 _Matrix_iterator ()
 Constructor. Iterator stands at the end of any matrix.
template<class _RefR , class _PtrR >
 _Matrix_iterator (const _Matrix_iterator< _Tp, _RefR, _PtrR > &__x)
 Copy constructor. Also from iterator to constant iterator.
uint col () const
 Column.
bool last () const
 Returns true, if iterator is behind the last entry.
matrix_typematrix () const
 Pointer to the matrix, needed for copy constructor.
const uint nofCols () const
 Number of columns.
const uint nofRows () const
 Number of rows.
return_type operator* () const
 Dereferencation.
_Self operator+ (difference_type __n) const
_Self operator++ (int)
_Selfoperator++ ()
_Selfoperator+= (difference_type __n)
_Self operator- (difference_type __n) const
_Selfoperator-- ()
_Self operator-- (int)
_Selfoperator-= (difference_type __n)
pointer operator-> () const
 Returns a pointer to the value, but only valid for non-constant matrices.
_Selfoperator= (const iterator &__x)
 Assignment.
return_type operator[] (difference_type __n) const
uint row () const
 Row.

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Protected Attributes

uint col_
bool last_
 Iterator is behind the last entrance.
const uint nofCols_
const uint nofRows_
 Number of rows and columns.
uint row_
 Current row and column.

Private Attributes

matrix_typematrix_
 Matrix.

Detailed Description

template<class _Tp, class _Ref, class _Ptr>
class concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >

STL iterator for matrices.

Author:
Kersten Schmidt, 2005

Definition at line 276 of file matrixIterator.hh.


Member Typedef Documentation

template<class _Tp, class _Ref, class _Ptr>
typedef _Matrix_iterator_base<_Tp, _Ref, _Ptr> concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::_Base

Definition at line 291 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef _Matrix_iterator concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::_Self

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 290 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef _Matrix_iterator<_Tp, const _Tp&, const _Tp*> concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::const_iterator

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 279 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef ptrdiff_t concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::difference_type

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 289 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef _Matrix_iterator<_Tp, _Tp&, _Tp*> concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::iterator

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 278 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef std::random_access_iterator_tag concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::iterator_category

Definition at line 282 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef MatrixType<_Tp, _Ref, _Ptr>::type concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::matrix_type

Definition at line 292 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef _Ptr concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::pointer

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 286 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef _Ref concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::reference

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 287 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef _Base::return_type concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::return_type

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 293 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef size_t concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::size_type

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 288 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
typedef _Tp concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::value_type

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 285 of file matrixIterator.hh.


Constructor & Destructor Documentation

template<class _Tp, class _Ref, class _Ptr>
concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::_Matrix_iterator ( matrix_type m,
const uint  r = 0,
const uint  c = 0 
)

Constructor.

Parameters:
mmatrix
rrow
ccolumn
template<class _Tp, class _Ref, class _Ptr>
concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::_Matrix_iterator ( )

Constructor. Iterator stands at the end of any matrix.

template<class _Tp, class _Ref, class _Ptr>
template<class _RefR , class _PtrR >
concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::_Matrix_iterator ( const _Matrix_iterator< _Tp, _RefR, _PtrR > &  __x) [inline]

Copy constructor. Also from iterator to constant iterator.

Definition at line 306 of file matrixIterator.hh.


Member Function Documentation

template<class _Tp, class _Ref, class _Ptr>
uint concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::col ( ) const [inline, inherited]

Column.

Definition at line 73 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
virtual std::ostream& concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

template<class _Tp, class _Ref, class _Ptr>
bool concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::last ( ) const [inline, inherited]

Returns true, if iterator is behind the last entry.

Definition at line 75 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
matrix_type* concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::matrix ( ) const [inline]

Pointer to the matrix, needed for copy constructor.

Definition at line 326 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
const uint concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::nofCols ( ) const [inline, inherited]

Number of columns.

Definition at line 69 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
const uint concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::nofRows ( ) const [inline, inherited]

Number of rows.

Definition at line 67 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
return_type concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator* ( ) const [inline]

Dereferencation.

Definition at line 310 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
_Self concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator+ ( difference_type  __n) const [inline]

Definition at line 392 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
_Self& concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator++ ( ) [inline]

Definition at line 335 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
_Self concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator++ ( int  ) [inline]

Definition at line 345 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
_Self& concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator+= ( difference_type  __n) [inline]

Definition at line 373 of file matrixIterator.hh.

Here is the call graph for this function:

template<class _Tp, class _Ref, class _Ptr>
_Self concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator- ( difference_type  __n) const [inline]

Definition at line 400 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
_Self concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator-- ( int  ) [inline]

Definition at line 367 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
_Self& concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator-- ( ) [inline]

Definition at line 351 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
_Self& concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator-= ( difference_type  __n) [inline]

Definition at line 398 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
pointer concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator-> ( ) const [inline]

Returns a pointer to the value, but only valid for non-constant matrices.

This restriction comes, because the index operator of a constant matrix returns a copy and not a constant reference.

Definition at line 320 of file matrixIterator.hh.

Here is the call graph for this function:

template<class _Tp, class _Ref, class _Ptr>
_Self& concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator= ( const iterator __x) [inline]

Assignment.

Reimplemented from concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >.

Definition at line 329 of file matrixIterator.hh.

Here is the call graph for this function:

template<class _Tp, class _Ref, class _Ptr>
return_type concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::operator[] ( difference_type  __n) const [inline]

Definition at line 405 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
uint concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::row ( ) const [inline, inherited]

Row.

Definition at line 71 of file matrixIterator.hh.


Member Data Documentation

template<class _Tp, class _Ref, class _Ptr>
uint concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::col_ [protected, inherited]

Definition at line 91 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
bool concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::last_ [protected, inherited]

Iterator is behind the last entrance.

Definition at line 93 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
matrix_type* concepts::_Matrix_iterator< _Tp, _Ref, _Ptr >::matrix_ [private]

Matrix.

Definition at line 412 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
const uint concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::nofCols_ [protected, inherited]

Definition at line 89 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
const uint concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::nofRows_ [protected, inherited]

Number of rows and columns.

Definition at line 89 of file matrixIterator.hh.

template<class _Tp, class _Ref, class _Ptr>
uint concepts::_Matrix_iterator_base< _Tp, _Ref, _Ptr >::row_ [protected, inherited]

Current row and column.

Definition at line 91 of file matrixIterator.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)