PLearn 0.1
Public Types | Public Member Functions | Private Attributes
PLearn::TMatElementIterator< T > Class Template Reference

#include <TMatElementIterator_decl.h>

Collaboration diagram for PLearn::TMatElementIterator< T >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef forward_iterator_tag iterator_category
typedef T value_type
typedef int size_type
typedef ptrdiff_t difference_type
typedef T * pointer
typedef T & reference

Public Member Functions

 TMatElementIterator (T *begin, int width, int mod)
TMatElementIterator< T > & operator++ ()
TMatElementIterator< T > operator++ (int)
T * operator-> () const
T & operator* () const
bool operator== (const TMatElementIterator &other)
bool operator!= (const TMatElementIterator &other)

Private Attributes

int width
int mod_minus_width
T * ptr
T * rowend

Detailed Description

template<class T>
class PLearn::TMatElementIterator< T >

Definition at line 55 of file TMatElementIterator_decl.h.


Member Typedef Documentation

template<class T>
typedef ptrdiff_t PLearn::TMatElementIterator< T >::difference_type

Definition at line 68 of file TMatElementIterator_decl.h.

template<class T>
typedef forward_iterator_tag PLearn::TMatElementIterator< T >::iterator_category

Definition at line 65 of file TMatElementIterator_decl.h.

template<class T>
typedef T* PLearn::TMatElementIterator< T >::pointer

Definition at line 69 of file TMatElementIterator_decl.h.

template<class T>
typedef T& PLearn::TMatElementIterator< T >::reference

Definition at line 70 of file TMatElementIterator_decl.h.

template<class T>
typedef int PLearn::TMatElementIterator< T >::size_type

Definition at line 67 of file TMatElementIterator_decl.h.

template<class T>
typedef T PLearn::TMatElementIterator< T >::value_type

Definition at line 66 of file TMatElementIterator_decl.h.


Constructor & Destructor Documentation

template<class T>
PLearn::TMatElementIterator< T >::TMatElementIterator ( T *  begin,
int  width,
int  mod 
) [inline]

Definition at line 72 of file TMatElementIterator_decl.h.

        :width(width), mod_minus_width(mod-width), ptr(begin), rowend(begin+width)
    {}

Member Function Documentation

template<class T>
bool PLearn::TMatElementIterator< T >::operator!= ( const TMatElementIterator< T > &  other) [inline]

Definition at line 108 of file TMatElementIterator_decl.h.

References PLearn::TMatElementIterator< T >::ptr.

    { return ptr!=other.ptr; }
template<class T>
T& PLearn::TMatElementIterator< T >::operator* ( ) const [inline]

Definition at line 102 of file TMatElementIterator_decl.h.

    { return *ptr; }
template<class T>
TMatElementIterator<T>& PLearn::TMatElementIterator< T >::operator++ ( ) [inline]

Definition at line 76 of file TMatElementIterator_decl.h.

    { 
        ++ptr;
        if(ptr==rowend)
        {
            ptr += mod_minus_width;
            rowend = ptr+width; 
        }
        return *this;
    }
template<class T>
TMatElementIterator<T> PLearn::TMatElementIterator< T >::operator++ ( int  ) [inline]

Definition at line 87 of file TMatElementIterator_decl.h.

    { 
        TMatElementIterator<T> prev(*this);
        ++ptr;
        if(ptr==rowend)
        {
            ptr += mod_minus_width;
            rowend = ptr+width; 
        }
        return prev;
    }
template<class T>
T* PLearn::TMatElementIterator< T >::operator-> ( ) const [inline]

Definition at line 99 of file TMatElementIterator_decl.h.

    { return ptr; }
template<class T>
bool PLearn::TMatElementIterator< T >::operator== ( const TMatElementIterator< T > &  other) [inline]

Definition at line 105 of file TMatElementIterator_decl.h.

References PLearn::TMatElementIterator< T >::ptr.

    { return ptr==other.ptr; }

Member Data Documentation

template<class T>
int PLearn::TMatElementIterator< T >::mod_minus_width [private]

Definition at line 59 of file TMatElementIterator_decl.h.

template<class T>
T* PLearn::TMatElementIterator< T >::ptr [private]
template<class T>
T* PLearn::TMatElementIterator< T >::rowend [private]

Definition at line 61 of file TMatElementIterator_decl.h.

template<class T>
int PLearn::TMatElementIterator< T >::width [private]

Definition at line 58 of file TMatElementIterator_decl.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines