31template<
class Container,
bool Const>
42 && fulcrum_ ==
rhs.fulcrum_
47template<
class Container,
bool Const>
58template<
class Container,
bool Const>
72template<
class Container,
bool Const>
82template<
class Container,
bool Const>
96template<
class Container,
bool Const>
111template<
class Container,
bool Const>
114 return (end_ == begin_);
118template<
class Container,
bool Const>
122 return (end_ - begin_);
126template<
class Container,
bool Const>
130 return (iter_ - fulcrum_);
134template<
class Container,
bool Const>
144 else if (dir == CirculatorBase::ANTICLOCKWISE)
149 return !(iter_ == fulcrum_);
153template<
class Container,
bool Const>
160template<
class Container,
bool Const>
167template<
class Container,
bool Const>
175template<
class Container,
bool Const>
179 if (iter_ == end_ - 1)
188template<
class Container,
bool Const>
203template<
class Container,
bool Const>
217 fulcrum_ =
rhs.fulcrum_;
221template<
class Container,
bool Const>
230template<
class Container,
bool Const>
240template<
class Container,
bool Const>
249template<
class Container,
bool Const>
259template<
class Container,
bool Const>
269template<
class Container,
bool Const>
279template<
class Container,
bool Const>
287template<
class Container,
bool Const>
295template<
class Container,
bool Const>
302 return (iter_ -
rhs.iter_);
direction
Direction type enumeration.
A pair of begin/end iterators used for implementing circular iteration.
void setFulcrumToIterator()
Set the fulcrum to the current position of the iterator.
bool circulate(const CirculatorBase::direction dir=CirculatorBase::NONE)
Circulate around the list in the given direction.
difference_type nRotations() const
The distance between the iterator and the fulcrum.
reference prev() const
Dereference the previous iterator.
reference operator*() const
Dereference the iterator. Same as curr().
std::conditional_t< Const, typename Container::const_reference, typename Container::reference > reference
The reference type (const/non-const).
void setIteratorToFulcrum()
Set the iterator to the current position of the fulcrum.
size_type size() const
Return the range of the iterator pair.
reference operator()() const
Dereference the iterator. Same as curr().
typename Container::size_type size_type
The type that can represent the size of Container.
bool empty() const
True if begin/end iterators are identical.
CirculatorIters< Container, Const > & operator--()
Prefix decrement the iterator.
bool equal(const CirculatorIters< Container, Const > &rhs)
Compare for equality.
reference curr() const
Dereference the current iterator.
CirculatorIters< Container, Const > & operator++()
Prefix increment the iterator.
reference next() const
Dereference the next iterator.
CirculatorIters()
Default construct.
typename Container::difference_type difference_type
The type that represents difference between iterator objects.
void increment()
Move iterator forward.
std::conditional_t< Const, typename Container::const_iterator, typename Container::iterator > iterator
The container iterator type (const/non-const).
void decrement()
Move iterator backward.
bool equal(const T &a, const T &b)
Compare two values for equality.
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)