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...

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)
 Create an iterator for the supplied `vector` and set it to refer to the element at `index`. More...
 
ELT & operator* ()
 
ELT & operator[] (ptrdiff_t i)
 
VectorIteratoroperator++ ()
 
VectorIterator operator++ (int)
 
VectorIteratoroperator-- ()
 
VectorIterator operator-- (int)
 
VectorIteratoroperator+= (ptrdiff_t n)
 
VectorIteratoroperator-= (ptrdiff_t n)
 
bool operator< (const VectorIterator &iter) const
 
bool operator> (const VectorIterator &iter) const
 
bool operator<= (const VectorIterator &iter) const
 
bool operator>= (const VectorIterator &iter) const
 
ptrdiff_t operator- (const VectorIterator &iter) const
 
VectorIterator operator- (ptrdiff_t n) const
 
VectorIterator operator+ (ptrdiff_t n) const
 
bool operator== (const VectorIterator &iter) const
 
bool operator!= (const 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

Create an iterator for the supplied `vector` and set it to refer to the element at `index`.

Member Function Documentation

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< ( const VectorIterator< ELT, VECTOR_CLASS > &  iter) const
inline
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator> ( const VectorIterator< ELT, VECTOR_CLASS > &  iter) const
inline
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator<= ( const VectorIterator< ELT, VECTOR_CLASS > &  iter) const
inline
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator>= ( const VectorIterator< ELT, VECTOR_CLASS > &  iter) const
inline
template<class ELT , class VECTOR_CLASS >
ptrdiff_t SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator- ( const 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== ( const VectorIterator< ELT, VECTOR_CLASS > &  iter) const
inline
template<class ELT , class VECTOR_CLASS >
bool SimTK::VectorIterator< ELT, VECTOR_CLASS >::operator!= ( const VectorIterator< ELT, VECTOR_CLASS > &  iter) const
inline

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