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());
182 T data = elmtPtr->
obj_;
190 link* elmtPtr =
static_cast<link*
>(LListBase::remove(l));
191 T data = elmtPtr->
obj_;
199 link* elmtPtr =
static_cast<link*
>(LListBase::remove(it));
200 T data = elmtPtr->
obj_;
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,...
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.