Simbody  3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SimTK::VectorIterator< ELT, VECTOR_CLASS > Class Template Reference

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

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 files: