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>
68 template<
class ContainerType>
84 template<
class ContainerType>
91 template<
class ContainerType>
99 template<
class ContainerType>
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
Dereference the iterator and return.
bool circulate(const CirculatorBase::direction dir=NONE)
Circulate around the list in the given direction.
constexpr auto begin(C &c) -> decltype(c.begin())
Return iterator to the beginning of the container c.
ContainerType::size_type size_type
The type that can represent the size of ContainerType.
ContainerType::iterator fulcrum_
Iterator holding the location of the fulcrum (start and end) of.
A class for managing temporary objects.
void setFulcrumToIterator()
Set the fulcrum to the current position of the iterator.
Walks over a container as if it were circular. The container must have the following members defined:
Circulator< ContainerType > & operator++()
Prefix increment. Increments the iterator.
ContainerType::difference_type difference_type
The type that can represent the difference between any two.
ContainerType::iterator iterator
Random access iterator for traversing ContainerType.
reference prev() const
Dereference the previous iterator and return.
reference operator()() const
Dereference the iterator and return.
Circulator()
Construct null.
ContainerType::reference reference
Type that can be used for storing into.
ContainerType::iterator iter_
Random access iterator for traversing ContainerType.
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
reference next() const
Dereference the next iterator and return.
direction
Direction type enumeration.
difference_type nRotations() const
Return the distance between the iterator and the fulcrum. This is.
tmp< faMatrix< Type > > operator*(const areaScalarField &, const faMatrix< Type > &)
size_type size() const
Return the range of the iterator.
const dimensionedScalar c
Speed of light in a vacuum.
ContainerType::iterator end_
Iterator pointing to the end of the container.
Base class for circulators.
ContainerType::iterator begin_
Iterator pointing to the beginning of the container.
void setIteratorToFulcrum()
Set the iterator to the current position of the fulcrum.
Circulator< ContainerType > & operator--()
Prefix decrement. Decrements the iterator.