Go to the documentation of this file.
33 template<
class ContainerType>
44 template<
class ContainerType>
47 const ContainerType& container
51 begin_(container.
begin()),
52 end_(container.
end()),
58 template<
class ContainerType>
61 const const_iterator&
begin,
62 const const_iterator&
end
73 template<
class ContainerType>
83 fulcrum_(rhs.fulcrum_)
89 template<
class ContainerType>
96 template<
class ContainerType>
100 return end_ - begin_;
104 template<
class ContainerType>
110 if (dir == CirculatorBase::CLOCKWISE)
114 else if (dir == CirculatorBase::ANTICLOCKWISE)
119 return !(iter_ == fulcrum_);
123 template<
class ContainerType>
130 template<
class ContainerType>
137 template<
class ContainerType>
141 return (iter_ - fulcrum_);
145 template<
class ContainerType>
149 if (iter_ == end_ - 1)
158 template<
class ContainerType>
173 template<
class ContainerType>
191 template<
class ContainerType>
205 template<
class ContainerType>
215 template<
class ContainerType>
229 template<
class ContainerType>
239 template<
class ContainerType>
250 && fulcrum_ ==
c.fulcrum_
255 template<
class ContainerType>
261 return !(*
this ==
c);
265 template<
class ContainerType>
273 template<
class ContainerType>
281 template<
class ContainerType>
288 return iter_ -
c.iter_;
ContainerType::const_iterator begin_
ContainerType::const_iterator end_
constexpr auto begin(C &c) -> decltype(c.begin())
ContainerType::const_reference const_reference
A class for managing temporary objects.
Walks over a container as if it were circular. The container must have the following members defined:
ContainerType::size_type size_type
void setIteratorToFulcrum()
ContainerType::difference_type difference_type
ConstCirculator< ContainerType > & operator++()
ContainerType::const_iterator const_iterator
ContainerType::const_iterator fulcrum_
constexpr auto end(C &c) -> decltype(c.end())
difference_type nRotations() const
const_reference operator()() const
const_reference operator*() const
ContainerType::const_iterator iter_
tmp< faMatrix< Type > > operator*(const areaScalarField &, const faMatrix< Type > &)
const dimensionedScalar c
void setFulcrumToIterator()
const_reference next() const
Base class for circulators.
bool circulate(const CirculatorBase::direction dir=NONE)
const_reference prev() const
ConstCirculator< ContainerType > & operator--()