22 #ifndef _vctVarStrideMatrixIterator_h
23 #define _vctVarStrideMatrixIterator_h
39 template<
class _elementType>
41 public std::iterator<std::random_access_iterator_tag, _elementType>
51 typedef std::iterator<std::random_access_iterator_tag, _elementType>
BaseType;
132 DataPtr(const_cast<value_type *>(dataPtr)),
251 return ((*
this) - other) < 0;
254 return ((*
this) < other) || ((*this) == other);;
266 return other < (*this);
269 return ((*
this) > other) || ((*this) == other);;
275 return !( (*this) == other );
286 template<
class _elementType>
308 BaseType(dataPtr, columnStride, numColumns, rowStride, initialColumn)
403 template<
class _elementType>
409 return result += difference;
414 template<
class _elementType>
420 return result += difference;
425 template<
class _elementType>
431 return result -= difference;
439 template<
class _elementType>
445 return result += difference;
450 template<
class _elementType>
456 return result += difference;
461 template<
class _elementType>
467 return result -= difference;
471 #endif // _vctVarStrideMatrixIterator_h
vctVarStrideMatrixConstIterator< _elementType > operator+(const vctVarStrideMatrixConstIterator< _elementType > &iterator, typename vctVarStrideMatrixConstIterator< _elementType >::difference_type difference)
Definition: vctVarStrideMatrixIterator.h:405
ThisType & operator--()
Definition: vctVarStrideMatrixIterator.h:158
bool operator!=(const ThisType &other) const
Definition: vctVarStrideMatrixIterator.h:274
std::iterator< std::random_access_iterator_tag, _elementType > BaseType
Definition: vctVarStrideMatrixIterator.h:51
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
ThisType operator++(int)
Definition: vctVarStrideMatrixIterator.h:324
bool operator>(const ThisType &other) const
Definition: vctVarStrideMatrixIterator.h:265
ThisType & operator++()
Definition: vctVarStrideMatrixIterator.h:314
size_t size_type
Definition: vctContainerTraits.h:35
stride_type RowStride
Definition: vctVarStrideMatrixIterator.h:69
ThisType operator--(int)
Definition: vctVarStrideMatrixIterator.h:343
ThisType operator++(int)
Definition: vctVarStrideMatrixIterator.h:150
vctVarStrideMatrixConstIterator< _elementType > BaseType
Definition: vctVarStrideMatrixIterator.h:293
value_type & operator*()
Definition: vctVarStrideMatrixIterator.h:395
vctVarStrideMatrixConstIterator< _elementType > ThisType
Definition: vctVarStrideMatrixIterator.h:48
ThisType & operator++()
Definition: vctVarStrideMatrixIterator.h:141
stride_type ColumnStride
Definition: vctVarStrideMatrixIterator.h:67
bool operator<(const ThisType &other) const
Definition: vctVarStrideMatrixIterator.h:250
const value_type & operator[](difference_type index) const
Definition: vctVarStrideMatrixIterator.h:230
ThisType & operator-=(difference_type difference)
Definition: vctVarStrideMatrixIterator.h:191
ptrdiff_t difference_type
Definition: vctContainerTraits.h:38
vctVarStrideMatrixConstIterator(value_type *dataPtr, stride_type columnStride, size_type numColumns, stride_type rowStride, size_type initialColumn=0)
Definition: vctVarStrideMatrixIterator.h:110
difference_type CurrentColumn
Definition: vctVarStrideMatrixIterator.h:70
value_type & operator[](difference_type index) const
Definition: vctVarStrideMatrixIterator.h:387
Basic traits for the cisstVector containers.
void WrapToRight()
Definition: vctVarStrideMatrixIterator.h:77
difference_type NumColumns
Definition: vctVarStrideMatrixIterator.h:68
ThisType operator--(int)
Definition: vctVarStrideMatrixIterator.h:167
bool operator>=(const ThisType &other) const
Definition: vctVarStrideMatrixIterator.h:268
vctVarStrideMatrixIterator()
Definition: vctVarStrideMatrixIterator.h:297
vctVarStrideMatrixConstIterator()
Definition: vctVarStrideMatrixIterator.h:99
ThisType & operator+=(difference_type difference)
Definition: vctVarStrideMatrixIterator.h:355
bool operator==(const ThisType &other) const
Definition: vctVarStrideMatrixIterator.h:259
void WrapToLeft()
Definition: vctVarStrideMatrixIterator.h:89
value_type * DataPtr
Definition: vctVarStrideMatrixIterator.h:64
vctVarStrideMatrixConstIterator< _elementType > operator-(const vctVarStrideMatrixConstIterator< _elementType > &iterator, typename vctVarStrideMatrixConstIterator< _elementType >::difference_type difference)
Definition: vctVarStrideMatrixIterator.h:427
ThisType & operator-=(difference_type difference)
Definition: vctVarStrideMatrixIterator.h:373
BaseType::iterator_category iterator_category
Definition: vctVarStrideMatrixIterator.h:55
vctVarStrideMatrixConstIterator(const value_type *dataPtr, difference_type columnStride, size_type numColumns, stride_type rowStride, size_type initialColumn=0)
Definition: vctVarStrideMatrixIterator.h:129
ThisType & operator--()
Definition: vctVarStrideMatrixIterator.h:333
ptrdiff_t stride_type
Definition: vctContainerTraits.h:37
const value_type & operator*() const
Definition: vctVarStrideMatrixIterator.h:238
vctVarStrideMatrixIterator(value_type *dataPtr, stride_type columnStride, size_type numColumns, stride_type rowStride, size_type initialColumn=0)
Definition: vctVarStrideMatrixIterator.h:305
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
Definition: vctVarStrideMatrixIterator.h:40
difference_type operator-(const ThisType &other) const
Definition: vctVarStrideMatrixIterator.h:219
bool operator<=(const ThisType &other) const
Definition: vctVarStrideMatrixIterator.h:253
BaseType::iterator_category iterator_category
Definition: vctVarStrideMatrixIterator.h:294
Definition: vctVarStrideMatrixIterator.h:287
vctVarStrideMatrixIterator< _elementType > ThisType
Definition: vctVarStrideMatrixIterator.h:292
ThisType & operator+=(difference_type difference)
Definition: vctVarStrideMatrixIterator.h:177