Simbody  3.5
SimTK::VectorIterator< ELT, VECTOR_CLASS > Class Template Reference

This is an iterator for iterating over the elements of a Vector_ or Vec object. More...

List of all members.

Public Types

typedef ELT value_type
typedef ptrdiff_t difference_type
typedef ELT & reference
typedef ELT * pointer
typedef
std::random_access_iterator_tag 
iterator_category

Public Member Functions

 VectorIterator (VECTOR_CLASS &vector, ptrdiff_t index)
 VectorIterator (const VectorIterator &iter)
VectorIteratoroperator= (const VectorIterator &iter)
ELT & operator* ()
ELT & operator[] (ptrdiff_t i)
VectorIterator operator++ ()
VectorIterator operator++ (int)
VectorIterator operator-- ()
VectorIterator operator-- (int)
VectorIterator operator+= (ptrdiff_t n)
VectorIterator operator-= (ptrdiff_t n)
bool operator< (VectorIterator iter) const
bool operator> (VectorIterator iter) const
bool operator<= (VectorIterator iter) const
bool operator>= (VectorIterator iter) const
ptrdiff_t operator- (VectorIterator iter) const
VectorIterator operator- (ptrdiff_t n) const
VectorIterator operator+ (ptrdiff_t n) const
bool operator== (VectorIterator iter) const
bool operator!= (VectorIterator iter) const

Detailed Description

template<class ELT, class VECTOR_CLASS>
class SimTK::VectorIterator< ELT, VECTOR_CLASS >

This is an iterator for iterating over the elements of a Vector_ or Vec object.

Template Parameters:
ELTThe type of an element stored in the vector whose type is given in VECTOR_CLASS.
VECTOR_CLASSThe type of vector container to iterate through. Its element type must be ELT.

This random access iterator can be used with any container that supports random-access indexing and a size() method. However, the intent is for use internally to allow writing a variety of vector math functions without having to specialize them for the various flavors of vector we support.


Member Typedef Documentation

template<class ELT , class VECTOR_CLASS >
typedef ELT SimTK::VectorIterator< ELT, VECTOR_CLASS >::value_type
template<class ELT , class VECTOR_CLASS >
typedef ptrdiff_t SimTK::VectorIterator< ELT, VECTOR_CLASS >::difference_type
template<class ELT , class VECTOR_CLASS >
typedef ELT& SimTK::VectorIterator< ELT, VECTOR_CLASS >::reference
template<class ELT , class VECTOR_CLASS >
typedef ELT* SimTK::VectorIterator< ELT, VECTOR_CLASS >::pointer
template<class ELT , class VECTOR_CLASS >
typedef std::random_access_iterator_tag SimTK::VectorIterator< ELT, VECTOR_CLASS >::iterator_category

Constructor & Destructor Documentation

template<class ELT , class VECTOR_CLASS >
SimTK::VectorIterator< ELT, VECTOR_CLASS >::VectorIterator ( VECTOR_CLASS &  vector,
ptrdiff_t  index 
) [inline]
template<class ELT , class VECTOR_CLASS >
SimTK::VectorIterator< ELT, VECTOR_CLASS >::VectorIterator ( const VectorIterator< ELT, VECTOR_CLASS > &  iter) [inline]

Member Function Documentation

template<class ELT , class VECTOR_CLASS >
VectorIterator& SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator= ( const VectorIterator< ELT, VECTOR_CLASS > &  iter) [inline]
template<class ELT , class VECTOR_CLASS >
ELT& SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator* ( ) [inline]
template<class ELT , class VECTOR_CLASS >
ELT& SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator[] ( ptrdiff_t  i) [inline]
template<class ELT , class VECTOR_CLASS >
VectorIterator SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator++ ( ) [inline]
template<class ELT , class VECTOR_CLASS >
VectorIterator SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator++ ( int  ) [inline]
template<class ELT , class VECTOR_CLASS >
VectorIterator SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator-- ( ) [inline]
template<class ELT , class VECTOR_CLASS >
VectorIterator SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator-- ( int  ) [inline]
template<class ELT , class VECTOR_CLASS >
VectorIterator SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator+= ( ptrdiff_t  n) [inline]
template<class ELT , class VECTOR_CLASS >
VectorIterator SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator-= ( ptrdiff_t  n) [inline]
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator< ( VectorIterator< ELT, VECTOR_CLASS >  iter) const [inline]
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator> ( VectorIterator< ELT, VECTOR_CLASS >  iter) const [inline]
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator<= ( VectorIterator< ELT, VECTOR_CLASS >  iter) const [inline]
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator>= ( VectorIterator< ELT, VECTOR_CLASS >  iter) const [inline]
template<class ELT , class VECTOR_CLASS >
ptrdiff_t SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator- ( VectorIterator< ELT, VECTOR_CLASS >  iter) const [inline]
template<class ELT , class VECTOR_CLASS >
VectorIterator SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator- ( ptrdiff_t  n) const [inline]
template<class ELT , class VECTOR_CLASS >
VectorIterator SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator+ ( ptrdiff_t  n) const [inline]
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator== ( VectorIterator< ELT, VECTOR_CLASS >  iter) const [inline]
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator!= ( VectorIterator< ELT, VECTOR_CLASS >  iter) const [inline]

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