template class axl::sl::ListBase
#include <axl_sl_List.h>
template <
typename T,
typename GetLink0,
typename Iterator0,
typename ConstIterator0
>
class ListBase: private axl::sl::ListData
{
public:
// typedefs
typedef T Entry;
typedef GetLink0 GetLink;
typedef Iterator0 Iterator;
typedef ConstIterator0 ConstIterator;
typedef sl::ListData<T> ListData;
// construction
ListBase();
// methods
bool
isEmpty() const;
const ListData*
getListData() const;
size_t
getCount() const;
Iterator
getHead();
ConstIterator
getHead() const;
Iterator
getTail();
ConstIterator
getTail() const;
T*
remove(Iterator it);
T*
removeHead();
T*
removeTail();
Iterator
insertHead(T* p);
Iterator
insertTail(T* p);
Iterator
insertBefore(
T* p,
Iterator before
);
Iterator
insertAfter(
T* p,
Iterator after
);
void
insertListHead(ListBase* src);
void
insertListTail(ListBase* src);
void
moveBefore(
Iterator it,
Iterator before
);
void
moveAfter(
Iterator it,
Iterator after
);
void
moveToHead(Iterator it);
void
moveToTail(Iterator it);
bool
sort();
template <typename Compare>
bool
sort(Compare compare);
};