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))
128 LList(std::initializer_list<T>);
154 return static_cast<link*
>(LListBase::last())->obj_;
158 const T&
last()
const
160 return static_cast<const link*
>(LListBase::last())->obj_;
175 LListBase::append(
new link(a));
181 link* elmtPtr =
static_cast<link*
>(LListBase::removeHead());
190 link* elmtPtr =
static_cast<link*
>(LListBase::remove(l));
199 link* elmtPtr =
static_cast<link*
>(LListBase::remove(it));
222 void operator=(std::initializer_list<T>);
277 LListBase_iterator::operator++();
284 return LListBase::begin();
289 return static_cast<const iterator&
>(LListBase::end());
324 static_cast<const link&
>
335 LListBase_const_iterator::operator++();
342 return LListBase::cbegin();
352 return LListBase::begin();
363 friend Istream&
operator>> <LListBase,
T>
369 friend Ostream& operator<< <LListBase, T>
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An STL-conforming const_iterator.
const_iterator & operator++()
const_iterator(LListBase_const_iterator baseIter)
Construct from base const_iterator.
An STL-conforming iterator.
iterator(LListBase_iterator baseIter)
Construct from base iterator.
Template class for non-intrusive linked lists.
label size_type
The type that can represent the size of a LList.
void insert(const T &a)
Add at head of list.
T value_type
Type of values the LList contains.
const_iterator cbegin() const
void operator=(const LList< LListBase, T > &)
Assignment operator.
LListBase::const_iterator LListBase_const_iterator
T & first()
Return the first entry added.
T & last()
Return the last entry added.
T removeHead()
Remove and return head.
T & reference
Type that can be used for storing into value_type.
void append(const T &a)
Add at tail of list.
LListBase::iterator LListBase_iterator
const const_iterator & cend() const
T remove(link *l)
Remove and return element.
void clear()
Delete contents of list.
void transfer(LList< LListBase, T > &)
Transfer the contents of the argument into this List.
const T & const_reference
Type that can be used for storing into constant.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Database for solution and other reduced data.
void insert(const scalar, DynamicList< floatScalar > &)
Append scalar to given DynamicList.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
labelList first(const UList< labelPair > &p)
tmp< fvMatrix< Type > > operator*(const volScalarField::Internal &, const fvMatrix< Type > &)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
link(T a)
Construct given object.