40 #include <initializer_list> 52 template<
class LListBase,
class T>
class LList;
54 template<
class LListBase,
class T>
61 template<
class LListBase,
class T>
73 template<
class LListBase,
class T>
93 public LListBase::link
115 LListBase(new
link(a))
125 LList(std::initializer_list<T>);
139 return static_cast<link*
>(LListBase::first())->
obj_;
145 return static_cast<const link*
>(LListBase::first())->
obj_;
151 return static_cast<link*
>(LListBase::last())->
obj_;
155 const T&
last()
const 157 return static_cast<const link*
>(LListBase::last())->
obj_;
178 link* elmtPtr =
static_cast<link*
>(LListBase::removeHead());
179 T data = elmtPtr->obj_;
187 link* elmtPtr =
static_cast<link*
>(LListBase::remove(l));
188 T data = elmtPtr->obj_;
196 link* elmtPtr =
static_cast<link*
>(LListBase::remove(it));
197 T data = elmtPtr->obj_;
216 void operator=(std::initializer_list<T>);
243 public LListBase_iterator
249 iterator(LListBase_iterator baseIter)
251 LListBase_iterator(baseIter)
271 LListBase_iterator::operator++();
278 return LListBase::begin();
283 return static_cast<const iterator&
>(LListBase::end());
294 public LListBase_const_iterator
302 LListBase_const_iterator(baseIter)
309 LListBase_const_iterator(baseIter)
318 static_cast<const link&
> 322 const T& operator()()
329 LListBase_const_iterator::operator++();
336 return LListBase::cbegin();
346 return LListBase::begin();
357 friend Istream&
operator>> <LListBase,
T>
363 friend Ostream& operator<< <LListBase, T>
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
LListBase::const_iterator LListBase_const_iterator
const const_iterator & cend() const
Template class for non-intrusive linked lists.
T & first()
Return the first entry added.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
An STL-conforming const_iterator.
An STL-conforming iterator.
T removeHead()
Remove and return head.
tmp< fvMatrix< Type > > operator*(const volScalarField::Internal &, const fvMatrix< Type > &)
timeIndices insert(timeIndex, timeDirs[timeI].value())
void transfer(LList< LListBase, T > &)
Transfer the contents of the argument into this List.
void operator=(const LList< LListBase, T > &)
Assignment operator.
rAUs append(new volScalarField(IOobject::groupName("rAU", phase1.name()), 1.0/(U1Eqn.A()+byDt(max(phase1.residualAlpha() - alpha1, scalar(0)) *rho1))))
void insert(const T &a)
Add at head of list.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
void clear()
Delete contents of list.
Database for solution data, solver performance and other reduced data.
T & last()
Return the last entry added.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
T & reference
Type that can be used for storing into value_type.
void append(const T &a)
Add at tail of list.
const_iterator cbegin() const
friend class const_iterator
label size_type
The type that can represent the size of a LList.
const T & const_reference
Type that can be used for storing into constant.
LListBase::iterator LListBase_iterator
link(T a)
Construct given object.
T value_type
Type of values the LList contains.