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>
115 LListBase(new
link(a))
128 LList(std::initializer_list<T>);
142 return static_cast<link*
>(LListBase::first())->
obj_;
148 return static_cast<const link*
>(LListBase::first())->
obj_;
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>);
249 public LListBase_iterator
255 iterator(LListBase_iterator baseIter)
257 LListBase_iterator(baseIter)
277 LListBase_iterator::operator++();
284 return LListBase::begin();
289 return static_cast<const iterator&
>(LListBase::end());
300 public LListBase_const_iterator
308 LListBase_const_iterator(baseIter)
315 LListBase_const_iterator(baseIter)
324 static_cast<const link&
> 328 const T& operator()()
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>
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.
void insert(const scalar, DynamicList< floatScalar > &)
Append scalar to given DynamicList.
T removeHead()
Remove and return head.
tmp< fvMatrix< Type > > operator*(const volScalarField::Internal &, const fvMatrix< Type > &)
void transfer(LList< LListBase, T > &)
Transfer the contents of the argument into this List.
void operator=(const LList< LListBase, T > &)
Assignment operator.
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 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.