|
Unreal Snake Game 1.0.0
|
#include <List.h>
Public Types | |
| typedef IteratorType< ContainerType, ElementType > | TIterator |
| typedef IteratorType< ContainerType, const ElementType > | TConstIterator |
Public Member Functions | |
| TLinkedListBase () | |
| FORCEINLINE void | Unlink () |
| FORCEINLINE void | LinkBefore (ContainerType *Before) |
| FORCEINLINE void | LinkAfter (ContainerType *After) |
| FORCEINLINE void | LinkReplace (ContainerType *Replace) |
| FORCEINLINE void | LinkHead (ContainerType *&Head) |
| FORCEINLINE bool | IsLinked () |
| FORCEINLINE ContainerType ** | GetPrevLink () const |
| FORCEINLINE ContainerType * | GetNextLink () const |
| FORCEINLINE ContainerType * | Next () |
Private Attributes | |
| ContainerType * | NextLink |
| ContainerType ** | PrevLink |
Friends | |
| FORCEINLINE friend TIterator | begin (ContainerType &List) |
| FORCEINLINE friend TConstIterator | begin (const ContainerType &List) |
| FORCEINLINE friend TIterator | end (ContainerType &List) |
| FORCEINLINE friend TConstIterator | end (const ContainerType &List) |
Base linked list class, used to implement methods shared by intrusive/non-intrusive linked lists
| typedef IteratorType<ContainerType, ElementType> SnakeGame::TLinkedListBase< ContainerType, ElementType, IteratorType >::TIterator |
Used to iterate over the elements of a linked list.
|
inline |
Default constructor (empty list)
|
inline |
Returns whether element is currently linked.
|
inline |
Adds this element to the linked list, after the specified element
| After | The link to insert this element after. |
|
inline |
Adds this element to a list, before the given element.
| Before | The link to insert this element before. |
|
inline |
Adds this element as the head of the linked list, linking the input Head pointer to this element, so that when the element is linked/unlinked, the Head linked list pointer will be correctly updated.
If Head already has an element, this functions like LinkBefore.
| Head | Pointer to the head of the linked list - this pointer should be the main reference point for the linked list |
|
inline |
Adds this element to the linked list, replacing the specified element. This is equivalent to calling LinkBefore(Replace); Replace->Unlink();
| Replace | Pointer to the element to be replaced |
|
inline |
Removes this element from the list in constant time.
This function is safe to call even if the element is not linked.
|
private |
The next link in the linked list
|
private |
Pointer to 'NextLink', within the previous link in the linked list