6#ifndef hSparseMatrixIterator_hh
7#define hSparseMatrixIterator_hh
16 class HashedSparseMatrix;
27 template <
class _Tp,
class _Ref,
class _Ptr>
34 template<
class _Tp_,
class _Ref_,
class _Ptr_>
37 typedef std::forward_iterator_tag iterator_category;
38 typedef _Tp value_type;
40 typedef _Ref reference;
41 typedef size_t size_type;
46 typedef typename _Base::return_type return_type;
57 template<
class _RefR,
class _PtrR>
61 pPerRow_(
__x.pPerRow()), nofPages_(
__x.nofPages()),
62 p_(
__x.p()), pNextRow_(
__x.pNextRow()), page_(
__x.page()) {
78 template<
class _RefR,
class _PtrR>
81 v_ =
__x.v(); hashBits_ =
__x.hashBits();
82 pPerRow_ =
__x.pPerRow(); nofPages_ =
__x.nofPages();
83 p_ =
__x.p(); pNextRow_ =
__x.pNextRow(); page_ =
__x.page();
99 int hashBits()
const {
return hashBits_; }
100 int pPerRow()
const {
return pPerRow_; }
101 int nofPages()
const {
return nofPages_; }
102 int p()
const {
return p_; }
103 int pNextRow()
const {
return pNextRow_; }
104 typename HashedSparseMatrix<_Tp>::Value** page()
const {
return page_; }
106 virtual std::ostream&
info(std::ostream&
os)
const;
111 int hashBits_, pPerRow_, nofPages_;
119 template <
class _Tp,
class _Ref,
class _Ptr>
120 template<
class _Tp_,
class _Ref_,
class _Ptr_>
126 template <
class _Tp,
class _Ref,
class _Ptr>
HashedSparseMatrix< _Tp >::Value * v() const
Data defining the position of the iterator.
_Self pre_increment()
Pre-increment operator, exportable to Python.
pointer operator->() const
Returns a pointer to the value.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
_Self operator++(int)
Post-increment operator.
_HashedSMatrix_iterator(matrix_type &m, const unsigned int r=0)
_Self post_increment()
Post-increment operator, exportable to Python.
_HashedSMatrix_iterator(const _HashedSMatrix_iterator< _Tp, _RefR, _PtrR > &__x)
Copy constructor. Also from iterator to constant iterator.
_Self & operator=(const _HashedSMatrix_iterator< _Tp, _RefR, _PtrR > &__x)
Assignment.
reference operator*() const
Dereferencation.
_Self & operator++()
Pre-increment operator.
_HashedSMatrix_iterator()
Constructor. Iterator stands at the end of any matrix.
_Self & operator=(const iterator &__x)
Assignment.
#define conceptsAssert(cond, exc)
Set< F > makeSet(uint n, const F &first,...)
Non-constant matrix for non-constant iterator.