Shadowrun: Awakened
Classes | Typedefs | Functions

DataStructures Namespace Reference

Classes

class  AVLBalancedBinarySearchTree
 An AVLBalancedBinarySearchTree is a binary tree that is always balanced. More...
class  BinarySearchTree
 A binary search tree and an AVL balanced binary search tree. More...
class  BPlusTree
class  BytePool
class  ByteQueue
class  CircularLinkedList
 (Circular) Linked List ADT (Doubly Linked Pointer to Node Style) - More...
class  Heap
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
struct  Page
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...
class  RangeList
struct  RangeNode
class  SingleProducerConsumer
 A single producer consumer implementation without critical sections. More...
class  StringKeyedHash
 Using a string as a identifier for a node, store an allocated pointer to that node. More...
struct  StringKeyedHashIndex
class  Table
 Holds a set of columns, a set of rows, and rows times columns cells. More...
class  ThreadsafeAllocatingQueue
class  Tree
class  WeightedGraph

Typedefs

typedef uint32_t DefaultIndexType

Functions

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

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.


Typedef Documentation

Definition at line 83 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 28 of file DS_Map.h.

    {
        if (a<b) return -1; if (a==b) return 0; return 1;
    }

template<class key_type , class data_type >
int DataStructures::defaultOrderedListComparison ( const key_type &  a,
const data_type &  b 
)

Definition at line 22 of file DS_OrderedList.h.

    {
        if (a<b) return -1; if (a==b) return 0; return 1;
    }

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 53 of file DS_Multilist.h.

{delete ptr;}

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 48 of file DS_Multilist.h.

References RakNet::OP_DELETE().

{RakNet::OP_DELETE(ptr, file, line);}

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

Definition at line 32 of file DS_RangeList.h.

References DataStructures::RangeNode< range_type >::minIndex.

    {
        if (a<b.minIndex)
            return -1;
        if (a==b.minIndex)
            return 0;
        return 1;
    }


Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net