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>
73 template<
class ContainerType>
89 template<
class ContainerType>
96 template<
class ContainerType>
100 return end_ - begin_;
104 template<
class ContainerType>
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_
Iterator pointing to the beginning of the container.
ContainerType::const_iterator end_
Iterator pointing to the end of the container.
constexpr auto begin(C &c) -> decltype(c.begin())
Return iterator to the beginning of the container c.
ContainerType::const_reference const_reference
Type that can be used for storing into.
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
The type that can represent the size of ContainerType.
void setIteratorToFulcrum()
Set the iterator to the current position of the fulcrum.
ContainerType::difference_type difference_type
The type that can represent the difference between any two.
~ConstCirculator()
Destructor.
ConstCirculator< ContainerType > & operator++()
Prefix increment. Increments the iterator.
ContainerType::const_iterator const_iterator
Random access iterator for traversing ContainerType.
ContainerType::const_iterator fulcrum_
Iterator holding the location of the fulcrum (start and end) of.
ConstCirculator()
Construct null.
size_type size() const
Return the range of the iterator.
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
difference_type nRotations() const
Return the distance between the iterator and the fulcrum. This is.
const_reference operator()() const
Dereference the iterator and return.
direction
Direction type enumeration.
const_reference operator*() const
Dereference the iterator and return.
ContainerType::const_iterator iter_
Iterator.
tmp< faMatrix< Type > > operator*(const areaScalarField &, const faMatrix< Type > &)
const dimensionedScalar c
Speed of light in a vacuum.
void setFulcrumToIterator()
Set the fulcrum to the current position of the iterator.
const_reference next() const
Dereference the next iterator and return.
Base class for circulators.
bool circulate(const CirculatorBase::direction dir=NONE)
Circulate around the list in the given direction.
const_reference prev() const
Dereference the previous iterator and return.
ConstCirculator< ContainerType > & operator--()
Prefix decrement. Decrements the iterator.