21#ifndef _vctFixedStrideMatrixIterator_h
22#define _vctFixedStrideMatrixIterator_h
88template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::
size_type _numColumns, vct::str
ide_type _rowStr
ide>
152 index_type initialColumn = 0)
172 index_type initialColumn = 0)
264 const difference_type rowDiff = (beginThisRow - beginThatRow) /
ROW_STRIDE;
266 const difference_type result = rowDiff *
NUM_COLUMNS + colDiff;
293 return ((*
this) - other) < 0;
296 return ((*
this) < other) || (*this) == other;
308 return other < (*this);
311 return ((*
this) > other) || (*this) == other;
317 return !( (*this) == other );
324template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
330 return result += difference;
334template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
340 return result += difference;
344template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
350 return result -= difference;
355template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
377 index_type initialColumn = 0)
445template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
451 return result += difference;
455template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
461 return result += difference;
465template <
class _elementType, vct::str
ide_type _columnStr
ide, vct::index_type _numColumns, vct::str
ide_type _rowStr
ide>
471 return result -= difference;
Matrix iterator.
Definition vctFixedStrideMatrixIterator.h:90
@ NUM_COLUMNS
Definition vctFixedStrideMatrixIterator.h:103
@ ROW_FIRST_INDEX
Definition vctFixedStrideMatrixIterator.h:109
const value_type & operator*() const
Definition vctFixedStrideMatrixIterator.h:280
bool operator>(const ThisType &other) const
Definition vctFixedStrideMatrixIterator.h:307
difference_type operator-(const ThisType &other) const
Definition vctFixedStrideMatrixIterator.h:261
difference_type CurrentColumn
Definition vctFixedStrideMatrixIterator.h:107
bool operator>=(const ThisType &other) const
Definition vctFixedStrideMatrixIterator.h:310
ThisType & operator-=(difference_type difference)
Definition vctFixedStrideMatrixIterator.h:232
vctFixedStrideMatrixConstIterator()
Definition vctFixedStrideMatrixIterator.h:138
vctFixedStrideMatrixConstIterator(value_type *dataPtr, index_type initialColumn=0)
Definition vctFixedStrideMatrixIterator.h:151
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
ThisType & operator+=(difference_type difference)
Definition vctFixedStrideMatrixIterator.h:217
bool operator<(const ThisType &other) const
Definition vctFixedStrideMatrixIterator.h:292
ThisType operator++(int)
Definition vctFixedStrideMatrixIterator.h:190
bool operator==(const ThisType &other) const
Definition vctFixedStrideMatrixIterator.h:301
ThisType & operator++()
Definition vctFixedStrideMatrixIterator.h:181
vctFixedStrideMatrixConstIterator< _elementType, _columnStride, _numColumns, _rowStride > ThisType
Definition vctFixedStrideMatrixIterator.h:96
std::random_access_iterator_tag iterator_category
Definition vctFixedStrideMatrixIterator.h:100
bool operator<=(const ThisType &other) const
Definition vctFixedStrideMatrixIterator.h:295
ThisType operator--(int)
Definition vctFixedStrideMatrixIterator.h:207
@ COL_STRIDE
Definition vctFixedStrideMatrixIterator.h:102
@ ROW_STRIDE
Definition vctFixedStrideMatrixIterator.h:102
bool operator!=(const ThisType &other) const
Definition vctFixedStrideMatrixIterator.h:316
ThisType & operator--()
Definition vctFixedStrideMatrixIterator.h:198
const value_type & operator[](difference_type index) const
Definition vctFixedStrideMatrixIterator.h:272
void WrapToLeft()
Definition vctFixedStrideMatrixIterator.h:128
vctFixedStrideMatrixConstIterator(const value_type *dataPtr, index_type initialColumn=0)
Definition vctFixedStrideMatrixIterator.h:171
void WrapToRight()
Definition vctFixedStrideMatrixIterator.h:116
value_type * DataPtr
Definition vctFixedStrideMatrixIterator.h:106
Definition vctFixedStrideMatrixIterator.h:358
ThisType & operator-=(difference_type difference)
Definition vctFixedStrideMatrixIterator.h:423
ThisType & operator+=(difference_type difference)
Definition vctFixedStrideMatrixIterator.h:416
vctFixedStrideMatrixIterator()
Definition vctFixedStrideMatrixIterator.h:367
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
ThisType & operator--()
Definition vctFixedStrideMatrixIterator.h:400
ThisType operator--(int)
Definition vctFixedStrideMatrixIterator.h:407
ThisType operator++(int)
Definition vctFixedStrideMatrixIterator.h:391
value_type & operator*() const
Definition vctFixedStrideMatrixIterator.h:437
vctFixedStrideMatrixConstIterator< _elementType, _columnStride, _numColumns, _rowStride > BaseType
Definition vctFixedStrideMatrixIterator.h:363
vctFixedStrideMatrixIterator< _elementType, _columnStride, _numColumns, _rowStride > ThisType
Definition vctFixedStrideMatrixIterator.h:362
value_type & operator[](difference_type index) const
Definition vctFixedStrideMatrixIterator.h:429
BaseType::iterator_category iterator_category
Definition vctFixedStrideMatrixIterator.h:364
ThisType & operator++()
Definition vctFixedStrideMatrixIterator.h:384
vctFixedStrideMatrixIterator(value_type *dataPtr, index_type initialColumn=0)
Definition vctFixedStrideMatrixIterator.h:376
Assert macros definitions.
#define CMN_ASSERT(expr)
Definition cmnAssert.h:97
Basic traits for the cisstVector containers.
OwnerType::iterator iterator
Definition vctDynamicConstMatrixBase.h:92
vctReturnDynamicMatrix< _elementType > operator-(const vctDynamicConstMatrixBase< _matrixOwnerType1, _elementType > &inputMatrix1, const vctDynamicConstMatrixBase< _matrixOwnerType2, _elementType > &inputMatrix2)
Definition vctDynamicMatrix.h:487
vctReturnDynamicMatrix< _elementType > operator+(const vctDynamicConstMatrixBase< _matrixOwnerType1, _elementType > &inputMatrix1, const vctDynamicConstMatrixBase< _matrixOwnerType2, _elementType > &inputMatrix2)
Definition vctDynamicMatrix.h:476