4 namespace honey {
namespace matrix
13 typedef typename std::conditional<std::is_const<Matrix>::value,
const typename Matrix::ElemT,
typename Matrix::ElemT>::type
31 Iter operator+(difference_type rhs)
const {
auto tmp = *
this; tmp+=rhs;
return tmp; }
32 Iter operator-(difference_type rhs)
const {
auto tmp = *
this; tmp-=rhs;
return tmp; }
33 difference_type
operator-(
const Iter& rhs)
const {
return _i - rhs._i; }
Iter & operator--()
Definition: Iter.h:26
(m x n)-dimensional matrix
Definition: Matrix.h:24
bool operator==(const Iter &rhs) const
Definition: Iter.h:35
Iter(Matrix &m, sdt i)
Definition: Iter.h:23
difference_type operator-(const Iter &rhs) const
Definition: Iter.h:33
ptrdiff_t sdt
Size difference type, shorthand for ptrdiff_t.
Definition: Core.h:92
Iter & operator+=(difference_type rhs)
Definition: Iter.h:29
Iter & operator++()
Definition: Iter.h:25
bool operator>=(const Iter &rhs) const
Definition: Iter.h:40
std::random_access_iterator_tag iterator_category
Definition: Iter.h:16
Matrix element iterator.
Definition: Iter.h:9
ElemT * pointer
Definition: Iter.h:19
Iter()
Definition: Iter.h:22
reference operator*() const
Definition: Iter.h:42
Iter operator-(difference_type rhs) const
Definition: Iter.h:32
bool operator<(const Iter &rhs) const
Definition: Iter.h:37
ElemT & reference
Definition: Iter.h:20
sdt difference_type
Definition: Iter.h:18
Iter & operator-=(difference_type rhs)
Definition: Iter.h:30
bool operator>(const Iter &rhs) const
Definition: Iter.h:38
Iter operator--(int)
Definition: Iter.h:28
ElemT value_type
Definition: Iter.h:17
bool operator<=(const Iter &rhs) const
Definition: Iter.h:39
std::conditional< std::is_const< Matrix >::value, const typename Matrix::ElemT, typename Matrix::ElemT >::type ElemT
Our element access is const if matrix is const.
Definition: Iter.h:14
bool operator!=(const Iter &rhs) const
Definition: Iter.h:36
Global Honeycomb namespace.
Iter operator+(difference_type rhs) const
Definition: Iter.h:31
Iter operator++(int)
Definition: Iter.h:27