SLikeNet  0.1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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

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 
)

Variable Documentation

template<class LinkedListType >
class RAK_DLL_EXPORT DataStructures::LinkedList

Definition at line 34 of file DS_LinkedList.h.