30 template<
class LListBase,
class T>
42 this->append(iter().clone().ptr());
47 template<
class LListBase,
class T>
48 template<
class CloneArg>
52 const CloneArg& cloneArg
64 this->append(iter().clone(cloneArg).ptr());
71 template<
class LListBase,
class T>
80 template<
class LListBase,
class T>
95 template<
class LListBase,
class T>
99 if ((tPtr =
remove(p)))
111 template<
class LListBase,
class T>
114 label oldSize = this->size();
115 for (
label i=0; i<oldSize; ++i)
124 template<
class LListBase,
class T>
128 LListBase::transfer(lst);
134 template<
class LListBase,
class T>
146 this->append(iter().clone().ptr());
Template class for intrusive linked lists.
Template class for intrusive linked lists.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void transfer(ILList< LListBase, T > &)
Transfer the contents of the argument into this List.
bool erase(T *p)
Remove the specified element from the list and delete it.
An STL-conforming const_iterator.
bool eraseHead()
Remove the head element specified from the list and delete it.
void clear()
Clear the contents of the list.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
T * removeHead()
Remove and return head.
void operator=(const ILList< LListBase, T > &)
Assignment operator.