SLikeNet 0.1.3

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Functions | Variables
DataStructures Namespace Reference

## Classes

class | BinarySearchTree
| A binary search tree and an AVL balanced binary search tree. More...
class | AVLBalancedBinarySearchTree
| An AVLBalancedBinarySearchTree is a binary tree that is always balanced. More...
struct | Page
class | BPlusTree
class | BytePool
class | ByteQueue
struct | HashIndex
class | Hash
| Using a string as a identifier for a node, store an allocated pointer to that node. More...
class | Heap
class | CircularLinkedList
| (Circular) Linked List ADT (Doubly Linked Pointer to Node Style) - More...
class | LinkedList
class | List
| Array based implementation of a list. More...
class | Map
class | MemoryPool
class | MLKeyRef
class | Multilist
| The multilist, representing an abstract data type that generally holds lists. More...
class | OrderedChannelHeap
class | OrderedList
class | Queue
| A queue implemented as an array with a read and write index. More...
class | QueueLinkedList
| A queue implemented using a linked list. Rarely used. More...
struct | RangeNode
class | RangeList
class | Table
| Holds a set of columns, a set of rows, and rows times columns cells. More...
class | ThreadsafeAllocatingQueue
class | Tree
class | WeightedGraph
class | SingleProducerConsumer
| A single producer consumer implementation without critical sections. More...

## Typedefs

typedef uint32_t | DefaultIndexType

## Functions

template<class key_type >
int | defaultMapKeyComparison (const key_type &a, const key_type &b)
template<class templateType >
void | DeletePtr_RakNet (templateType &ptr, const char *file, unsigned int line)
template<class templateType >
void | DeletePtr (templateType &ptr)
template<class key_type , class data_type >
int | defaultOrderedListComparison (const key_type &a, const data_type &b)
template<class range_type >
int | RangeNodeComp (const range_type &a, const RangeNode< range_type > &b)

## Variables

template<class LinkedListType >
class RAK_DLL_EXPORT | LinkedList

## Detailed Description

The namespace DataStructures was only added to avoid compiler errors for commonly named data structures As these data structures are stand-alone, you can use them outside of RakNet for your own projects if you wish.

## Class Documentation

struct DataStructures::Page

### template<class KeyType, class DataType, int order>
struct DataStructures::Page< KeyType, DataType, order >

Used in the BPlusTree. Used for both leaf and index nodes. Don't use a constructor or destructor, due to the memory pool I am using

Definition at line 50 of file DS_BPlusTree.h.

Inheritance diagram for DataStructures::Page< KeyType, DataType, order >:

Class Members
Page * | children |
DataType | data |
bool | isLeaf |
KeyType | keys |
Page< KeyType, DataType, order > * | next |
Page< KeyType, DataType, order > * | previous |
int | size |

## Typedef Documentation

typedef uint32_t DataStructures::DefaultIndexType

Definition at line 91 of file DS_Multilist.h.

## Function Documentation

template<class key_type >

int DataStructures::defaultMapKeyComparison | ( | const key_type & | a,
|  | const key_type & | b
| ) |  |

The default comparison has to be first so it can be called as a default parameter. It then is followed by MapNode, followed by NodeComparisonFunc

Definition at line 40 of file DS_Map.h.

template<class key_type , class data_type >

int DataStructures::defaultOrderedListComparison | ( | const key_type & | a,
|  | const data_type & | b
| ) |  |

Definition at line 33 of file DS_OrderedList.h.

template<class templateType >

void DataStructures::DeletePtr | ( | templateType & | ptr | ) |

Can be used with Multilist::ForEach Assuming the Multilist holds pointers, will delete those pointers

Definition at line 58 of file DS_Multilist.h.

template<class templateType >

void DataStructures::DeletePtr_RakNet | ( | templateType & | ptr,
|  | const char * | file,
|  | unsigned int | line
| ) |  |

Can be used with Multilist::ForEach Assuming the Multilist holds pointers, will delete those pointers

Definition at line 53 of file DS_Multilist.h.

References SLNet::OP_DELETE().

template<class range_type >

int DataStructures::RangeNodeComp | ( | const range_type & | a,
|  | const RangeNode< range_type > & | b
| ) |  |

Definition at line 44 of file DS_RangeList.h.

References DataStructures::RangeNode< range_type >::maxIndex, and DataStructures::RangeNode< range_type >::minIndex.

## Variable Documentation

template<class LinkedListType >

class RAK_DLL_EXPORT DataStructures::LinkedList

Definition at line 34 of file DS_LinkedList.h.