39 template<
typename dtype,
typename Po
interType,
typename DifferenceType>
164 return tmp += offset;
176 return *
this += -offset;
189 return tmp -= offset;
201 return ptr_ - rhs.ptr_;
213 return *(*
this + offset);
225 return ptr_ == rhs.ptr_;
237 return !(*
this == rhs);
249 return ptr_ < rhs.ptr_;
273 return !(rhs < *
this);
285 return !(*
this < rhs);
300 template<
class dtype,
typename Po
interType,
typename DifferenceType>
301 NdArrayConstIterator<dtype, PointerType, DifferenceType>
305 return next += offset;
311 template<
typename dtype,
typename Po
interType,
typename DifferenceType>
325 using MyBase::MyBase;
422 return tmp += offset;
438 using MyBase::operator-;
450 return tmp -= offset;
474 template<
class dtype,
typename Po
interType,
typename DifferenceType>
475 NdArrayIterator<dtype, PointerType, DifferenceType>
479 return next += offset;
485 template<
typename dtype,
typename SizeType,
typename Po
interType,
typename DifferenceType>
518 size_(numRows_ * numCols_)
601 currPtr_ = colIdx2Ptr(ptr2ColIdx(currPtr_) + offset);
615 return tmp += offset;
627 return *
this += -offset;
640 return tmp -= offset;
652 return ptr2ColIdx(currPtr_) - ptr2ColIdx(rhs.currPtr_);
664 return *(*
this + offset);
676 return currPtr_ == rhs.currPtr_;
688 return !(*
this == rhs);
700 return *
this - rhs < 0;
712 return *
this - rhs > 0;
724 return !(rhs < *
this);
736 return !(*
this < rhs);
760 const auto rowIdx = ptr - ptr_;
766 const auto row = rowIdx / numCols_;
767 const auto col = rowIdx % numCols_;
768 return row + col * numRows_;
785 const auto row = colIdx % numRows_;
786 const auto col = colIdx / numRows_;
787 const auto rowIdx = col + row * numCols_;
788 return ptr_ + rowIdx;
800 template<
class dtype,
typename SizeType,
typename Po
interType,
typename DifferenceType>
805 return next += offset;
811 template<
typename dtype,
typename SizeType,
typename Po
interType,
typename DifferenceType>
826 using MyBase::MyBase;
923 return tmp += offset;
939 using MyBase::operator-;
951 return tmp -= offset;
975 template<
class dtype,
typename SizeType,
typename Po
interType,
typename DifferenceType>
976 NdArrayColumnIterator<dtype, SizeType, PointerType, DifferenceType>
980 return next += offset;
Custom column iterator for NdArray.
Definition: NdArrayIterators.hpp:813
self_type & operator+=(const difference_type offset) noexcept
Definition: NdArrayIterators.hpp:907
self_type operator++(int) noexcept
Definition: NdArrayIterators.hpp:868
reference operator[](const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:961
self_type operator-(const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:948
self_type operator+(const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:920
self_type & operator-=(const difference_type offset) noexcept
Definition: NdArrayIterators.hpp:933
self_type operator--(int) noexcept
Definition: NdArrayIterators.hpp:893
self_type & operator++() noexcept
Definition: NdArrayIterators.hpp:856
self_type & operator--() noexcept
Definition: NdArrayIterators.hpp:881
DifferenceType difference_type
Definition: NdArrayIterators.hpp:824
pointer operator->() const noexcept
Definition: NdArrayIterators.hpp:845
reference operator*() const noexcept
Definition: NdArrayIterators.hpp:834
Custom column const_iterator for NdArray.
Definition: NdArrayIterators.hpp:487
self_type operator+(const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:612
self_type & operator+=(const difference_type offset) noexcept
Definition: NdArrayIterators.hpp:599
pointer operator->() const noexcept
Definition: NdArrayIterators.hpp:539
reference operator[](const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:662
dtype value_type
Definition: NdArrayIterators.hpp:493
NdArrayConstColumnIterator()=default
std::random_access_iterator_tag iterator_category
Definition: NdArrayIterators.hpp:492
PointerType pointer
Definition: NdArrayIterators.hpp:495
self_type & operator-=(const difference_type offset) noexcept
Definition: NdArrayIterators.hpp:625
self_type operator--(int) noexcept
Definition: NdArrayIterators.hpp:585
difference_type operator-(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:650
const value_type & reference
Definition: NdArrayIterators.hpp:496
self_type operator-(const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:637
self_type & operator--() noexcept
Definition: NdArrayIterators.hpp:574
bool operator>(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:710
self_type operator++(int) noexcept
Definition: NdArrayIterators.hpp:561
bool operator<=(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:722
bool operator>=(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:734
SizeType size_type
Definition: NdArrayIterators.hpp:494
self_type & operator++() noexcept
Definition: NdArrayIterators.hpp:550
bool operator<(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:698
reference operator*() const noexcept
Definition: NdArrayIterators.hpp:528
DifferenceType difference_type
Definition: NdArrayIterators.hpp:497
bool operator!=(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:686
bool operator==(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:674
NdArrayConstColumnIterator(pointer ptr, SizeType numRows, SizeType numCols) noexcept
Definition: NdArrayIterators.hpp:513
Custom const_iterator for NdArray.
Definition: NdArrayIterators.hpp:41
bool operator>=(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:283
self_type & operator+=(const difference_type offset) noexcept
Definition: NdArrayIterators.hpp:148
self_type & operator--() noexcept
Definition: NdArrayIterators.hpp:122
DifferenceType difference_type
Definition: NdArrayIterators.hpp:50
bool operator<=(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:271
std::random_access_iterator_tag iterator_category
Definition: NdArrayIterators.hpp:46
self_type & operator++() noexcept
Definition: NdArrayIterators.hpp:97
pointer operator->() const noexcept
Definition: NdArrayIterators.hpp:86
self_type operator++(int) noexcept
Definition: NdArrayIterators.hpp:109
PointerType pointer
Definition: NdArrayIterators.hpp:48
self_type operator-(const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:186
NdArrayConstIterator()=default
self_type operator--(int) noexcept
Definition: NdArrayIterators.hpp:134
self_type operator+(const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:161
bool operator<(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:247
reference operator[](const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:211
bool operator>(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:259
self_type & operator-=(const difference_type offset) noexcept
Definition: NdArrayIterators.hpp:174
bool operator!=(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:235
difference_type operator-(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:199
NdArrayConstIterator(pointer ptr) noexcept
Definition: NdArrayIterators.hpp:64
const value_type & reference
Definition: NdArrayIterators.hpp:49
bool operator==(const self_type &rhs) const noexcept
Definition: NdArrayIterators.hpp:223
reference operator*() const noexcept
Definition: NdArrayIterators.hpp:75
dtype value_type
Definition: NdArrayIterators.hpp:47
Custom iterator for NdArray.
Definition: NdArrayIterators.hpp:313
self_type operator++(int) noexcept
Definition: NdArrayIterators.hpp:367
reference operator[](const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:460
self_type & operator--() noexcept
Definition: NdArrayIterators.hpp:380
self_type & operator+=(const difference_type offset) noexcept
Definition: NdArrayIterators.hpp:406
DifferenceType difference_type
Definition: NdArrayIterators.hpp:323
self_type operator-(const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:447
pointer operator->() const noexcept
Definition: NdArrayIterators.hpp:344
self_type operator+(const difference_type offset) const noexcept
Definition: NdArrayIterators.hpp:419
self_type operator--(int) noexcept
Definition: NdArrayIterators.hpp:392
self_type & operator-=(const difference_type offset) noexcept
Definition: NdArrayIterators.hpp:432
reference operator*() const noexcept
Definition: NdArrayIterators.hpp:333
self_type & operator++() noexcept
Definition: NdArrayIterators.hpp:355
Definition: Cartesian.hpp:40
NdArrayConstIterator< dtype, PointerType, DifferenceType > operator+(typename NdArrayConstIterator< dtype, PointerType, DifferenceType >::difference_type offset, NdArrayConstIterator< dtype, PointerType, DifferenceType > next) noexcept
Definition: NdArrayIterators.hpp:302