#include <support/List.h>
Inheritance diagram for SAbstractList:
An abstract base class for a doubly-linked list, using void pointers to data of a fixed size.
SList
implementation.
Public Member Functions | |
_ListNode * | Add (const void *newItem) |
Adds newItem before the end of the list. | |
_ListNode * | AddAt (const void *newItem, const AbstractIterator &i) |
Adds newItem before the list node referenced by the iterator. | |
AbstractIterator | Begin (void) const |
Returns an iterator that references the first node. | |
size_t | CountItems (void) const |
SAbstractList & | Duplicate (const SAbstractList &o) |
Empties the list and replaces it with copied nodes from o . | |
AbstractIterator | End (void) const |
Returns an iterator that references the sentinel node after the last node. | |
bool | IsEmpty (void) const |
size_t | ItemSize (void) const |
void | MakeEmpty (void) |
Removes all list nodes; equivalent to calling Remove() until. | |
AbstractIterator | Remove (AbstractIterator &i) |
Removes the node at i. | |
SAbstractList (const SAbstractList &o) | |
SAbstractList (const size_t itemSize) | |
_ListNode * | Splice (SAbstractList &subList) |
_ListNode * | SpliceAt (SAbstractList &subList, const AbstractIterator &i) |
virtual | ~SAbstractList (void) |
Protected Member Functions | |
virtual void | PerformAssign (void *to, const void *from, size_t count) const =0 |
virtual void | PerformConstruct (void *base, size_t count) const =0 |
virtual void | PerformCopy (void *to, const void *from, size_t count) const =0 |
virtual void | PerformDestroy (void *base, size_t count) const =0 |
Classes | |
struct | _ListNode |
class | AbstractIterator |
A companion class to SAbstractList that provides iteration over list nodes. More... |
|
|
|
|
|
|
|
Adds newItem before the end of the list.
|
|
Adds newItem before the list node referenced by the iterator.
|
|
Returns an iterator that references the first node.
Reimplemented in SList. |
|
|
|
Empties the list and replaces it with copied nodes from o .
|
|
Returns an iterator that references the sentinel node after the last node.
Reimplemented in SList. |
|
|
|
|
|
Removes all list nodes; equivalent to calling . Reimplemented in SList. |
|
Implemented in SList. |
|
Implemented in SList. |
|
Implemented in SList. |
|
Implemented in SList. |
|
Removes the node at i.
|
|
|
|
|