28 template<
class ContainerType>
39 template<
class ContainerType>
42 const ContainerType& container
46 begin_(container.begin()),
47 end_(container.end()),
53 template<
class ContainerType>
68 template<
class ContainerType>
78 fulcrum_(rhs.fulcrum_)
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>
178 <<
"Attempted assignment to self"
185 fulcrum_ = rhs.fulcrum_;
189 template<
class ContainerType>
203 template<
class ContainerType>
213 template<
class ContainerType>
227 template<
class ContainerType>
237 template<
class ContainerType>
248 && fulcrum_ ==
c.fulcrum_
253 template<
class ContainerType>
259 return !(*
this ==
c);
263 template<
class ContainerType>
271 template<
class ContainerType>
279 template<
class ContainerType>
286 return iter_ -
c.iter_;
Base class for circulators.
direction
Direction type enumeration.
Walks over a container as if it were circular. The container must have the following members defined:
const_reference prev() const
Dereference the previous iterator and return.
const_reference operator()() const
Dereference the iterator and return.
void setFulcrumToIterator()
Set the fulcrum to the current position of the iterator.
ConstCirculator< ContainerType > & operator++()
Prefix increment. Increments the iterator.
ConstCirculator()
Construct null.
ConstCirculator< ContainerType > & operator--()
Prefix decrement. Decrements the iterator.
void setIteratorToFulcrum()
Set the iterator to the current position of the fulcrum.
const_reference next() const
Dereference the next iterator and return.
~ConstCirculator()
Destructor.
ContainerType::const_reference const_reference
Type that can be used for storing into.
size_type size() const
Return the range of the iterator.
difference_type nRotations() const
Return the distance between the iterator and the fulcrum. This is.
const_reference operator*() const
Dereference the iterator and return.
ContainerType::difference_type difference_type
The type that can represent the difference between any two.
ContainerType::const_iterator const_iterator
Random access iterator for traversing ContainerType.
bool circulate(const CirculatorBase::direction dir=CirculatorBase::direction::none)
Circulate around the list in the given direction.
ContainerType::size_type size_type
The type that can represent the size of ContainerType.
A class for managing temporary objects.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const dimensionedScalar c
Speed of light in a vacuum.
errorManip< error > abort(error &err)
tmp< fvMatrix< Type > > operator*(const volScalarField::Internal &, const fvMatrix< Type > &)