22 #ifndef _vctFixedStrideMatrixIterator_h
23 #define _vctFixedStrideMatrixIterator_h
89 template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::
size_type _numColumns, vct::str
ide_type _rowStr
ide>
91 public std::iterator<std::random_access_iterator_tag, _elementType>
101 typedef std::iterator<std::random_access_iterator_tag, _elementType>
BaseType;
178 :
DataPtr(const_cast<value_type *>(dataPtr))
298 return ((*
this) - other) < 0;
301 return ((*
this) < other) || (*this) == other;
313 return other < (*this);
316 return ((*
this) > other) || (*this) == other;
322 return !( (*this) == other );
329 template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
335 return result += difference;
339 template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
345 return result += difference;
349 template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
355 return result -= difference;
360 template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
406 return reinterpret_cast<ThisType &
>(BaseType::operator--());
422 return reinterpret_cast<ThisType &
>(BaseType::operator+=(difference));
429 return reinterpret_cast<ThisType &
>(BaseType::operator-=(difference));
450 template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
456 return result += difference;
460 template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
466 return result += difference;
470 template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
476 return result -= difference;
480 #endif // _vctFixedStrideMatrixIterator_h
difference_type operator-(const ThisType &other) const
Definition: vctFixedStrideMatrixIterator.h:266
size_t index_type
Definition: vctContainerTraits.h:36
Definition: vctFixedStrideMatrixIterator.h:114
Assert macros definitions.
vctFixedStrideMatrixIterator(value_type *dataPtr, index_type initialColumn=0)
Definition: vctFixedStrideMatrixIterator.h:381
#define CMN_ASSERT(expr)
Definition: cmnAssert.h:90
vctFixedStrideMatrixConstIterator< _elementType, _columnStride, _numColumns, _rowStride > operator+(const vctFixedStrideMatrixConstIterator< _elementType, _columnStride, _numColumns, _rowStride > &iterator, typename vctFixedStrideMatrixConstIterator< _elementType, _columnStride, _numColumns, _rowStride >::difference_type difference)
Definition: vctFixedStrideMatrixIterator.h:331
bool operator>(const ThisType &other) const
Definition: vctFixedStrideMatrixIterator.h:312
void WrapToLeft()
Definition: vctFixedStrideMatrixIterator.h:133
ThisType & operator+=(difference_type difference)
Definition: vctFixedStrideMatrixIterator.h:222
vctFixedStrideMatrixConstIterator()
Definition: vctFixedStrideMatrixIterator.h:143
value_type * DataPtr
Definition: vctFixedStrideMatrixIterator.h:111
BaseType::iterator_category iterator_category
Definition: vctFixedStrideMatrixIterator.h:105
const value_type & operator*() const
Definition: vctFixedStrideMatrixIterator.h:285
bool operator<=(const ThisType &other) const
Definition: vctFixedStrideMatrixIterator.h:300
ThisType operator--(int)
Definition: vctFixedStrideMatrixIterator.h:212
BaseType::iterator_category iterator_category
Definition: vctFixedStrideMatrixIterator.h:369
ThisType & operator--()
Definition: vctFixedStrideMatrixIterator.h:405
std::iterator< std::random_access_iterator_tag, _elementType > BaseType
Definition: vctFixedStrideMatrixIterator.h:101
Definition: vctFixedStrideMatrixIterator.h:361
Definition: vctFixedStrideMatrixIterator.h:107
value_type & operator[](difference_type index) const
Definition: vctFixedStrideMatrixIterator.h:434
bool operator>=(const ThisType &other) const
Definition: vctFixedStrideMatrixIterator.h:315
const value_type & operator[](difference_type index) const
Definition: vctFixedStrideMatrixIterator.h:277
Definition: vctFixedStrideMatrixIterator.h:108
Matrix iterator.
Definition: vctFixedStrideMatrixIterator.h:90
bool operator!=(const ThisType &other) const
Definition: vctFixedStrideMatrixIterator.h:321
ThisType & operator-=(difference_type difference)
Definition: vctFixedStrideMatrixIterator.h:237
ThisType & operator--()
Definition: vctFixedStrideMatrixIterator.h:203
ThisType & operator-=(difference_type difference)
Definition: vctFixedStrideMatrixIterator.h:428
ThisType & operator++()
Definition: vctFixedStrideMatrixIterator.h:389
Definition: vctFixedStrideMatrixIterator.h:107
ptrdiff_t difference_type
Definition: vctContainerTraits.h:38
ThisType operator++(int)
Definition: vctFixedStrideMatrixIterator.h:195
Basic traits for the cisstVector containers.
vctFixedStrideMatrixConstIterator(const value_type *dataPtr, index_type initialColumn=0)
Definition: vctFixedStrideMatrixIterator.h:176
ThisType operator--(int)
Definition: vctFixedStrideMatrixIterator.h:412
difference_type CurrentColumn
Definition: vctFixedStrideMatrixIterator.h:112
vctFixedStrideMatrixIterator< _elementType, _columnStride, _numColumns, _rowStride > ThisType
Definition: vctFixedStrideMatrixIterator.h:367
osaGroup::ID operator++(osaGroup::ID &gid, int i)
vctFixedStrideMatrixIterator()
Definition: vctFixedStrideMatrixIterator.h:372
vctFixedStrideMatrixConstIterator< _elementType, _columnStride, _numColumns, _rowStride > BaseType
Definition: vctFixedStrideMatrixIterator.h:368
void WrapToRight()
Definition: vctFixedStrideMatrixIterator.h:121
bool operator<(const ThisType &other) const
Definition: vctFixedStrideMatrixIterator.h:297
ThisType operator++(int)
Definition: vctFixedStrideMatrixIterator.h:396
vctFixedStrideMatrixConstIterator(value_type *dataPtr, index_type initialColumn=0)
Definition: vctFixedStrideMatrixIterator.h:156
vctFixedStrideMatrixConstIterator< _elementType, _columnStride, _numColumns, _rowStride > ThisType
Definition: vctFixedStrideMatrixIterator.h:98
bool operator==(const ThisType &other) const
Definition: vctFixedStrideMatrixIterator.h:306
ThisType & operator++()
Definition: vctFixedStrideMatrixIterator.h:186
ThisType & operator+=(difference_type difference)
Definition: vctFixedStrideMatrixIterator.h:421
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)