Go to the documentation of this file.
31 template<
class ContainerType>
42 template<
class ContainerType>
46 begin_(container.
begin()),
47 end_(container.
end()),
53 template<
class ContainerType>
56 const iterator&
begin,
68 template<
class ContainerType>
78 fulcrum_(rhs.fulcrum_)
84 template<
class ContainerType>
91 template<
class ContainerType>
99 template<
class ContainerType>
105 if (dir == CirculatorBase::CLOCKWISE)
109 else if (dir == CirculatorBase::ANTICLOCKWISE)
114 return !(iter_ == fulcrum_);
118 template<
class ContainerType>
125 template<
class ContainerType>
132 template<
class ContainerType>
136 return (iter_ - fulcrum_);
140 template<
class ContainerType>
144 if (iter_ == end_ - 1)
153 template<
class ContainerType>
168 template<
class ContainerType>
186 template<
class ContainerType>
200 template<
class ContainerType>
210 template<
class ContainerType>
224 template<
class ContainerType>
234 template<
class ContainerType>
245 && fulcrum_ ==
c.fulcrum_
250 template<
class ContainerType>
256 return !(*
this ==
c);
260 template<
class ContainerType>
268 template<
class ContainerType>
276 template<
class ContainerType>
283 return iter_ -
c.iter_;
reference operator*() const
bool circulate(const CirculatorBase::direction dir=NONE)
constexpr auto begin(C &c) -> decltype(c.begin())
ContainerType::size_type size_type
ContainerType::iterator fulcrum_
A class for managing temporary objects.
void setFulcrumToIterator()
Walks over a container as if it were circular. The container must have the following members defined:
Circulator< ContainerType > & operator++()
ContainerType::difference_type difference_type
ContainerType::iterator iterator
reference operator()() const
ContainerType::reference reference
ContainerType::iterator iter_
constexpr auto end(C &c) -> decltype(c.end())
difference_type nRotations() const
tmp< faMatrix< Type > > operator*(const areaScalarField &, const faMatrix< Type > &)
const dimensionedScalar c
ContainerType::iterator end_
Base class for circulators.
ContainerType::iterator begin_
void setIteratorToFulcrum()
Circulator< ContainerType > & operator--()