#include "RakAssert.h"
#include <string.h>
#include "Export.h"
#include "RakMemoryOverride.h"
#include "NativeTypes.h"
Go to the source code of this file.
Classes | |
class | DataStructures::MLKeyRef< templateType > |
class | DataStructures::Multilist< _MultilistType, _DataType, _KeyType, _IndexType > |
The multilist, representing an abstract data type that generally holds lists. More... | |
Namespaces | |
namespace | DataStructures |
Defines | |
#define | DEFINE_MULTILIST_PTR_TO_MEMBER_COMPARISONS(_CLASS_NAME_, _KEY_TYPE_, _MEMBER_VARIABLE_NAME_) |
Typedefs | |
typedef uint32_t | DataStructures::DefaultIndexType |
Enumerations | |
enum | MultilistType { ML_UNORDERED_LIST, ML_STACK, ML_QUEUE, ML_ORDERED_LIST, ML_VARIABLE_DURING_RUNTIME } |
What algorithm to use to store the data for the Multilist. More... | |
Functions | |
template<class templateType > | |
void | DataStructures::DeletePtr_RakNet (templateType &ptr, const char *file, unsigned int line) |
template<class templateType > | |
void | DataStructures::DeletePtr (templateType &ptr) |
Definition in file DS_Multilist.h.
#define DEFINE_MULTILIST_PTR_TO_MEMBER_COMPARISONS | ( | _CLASS_NAME_, | ||
_KEY_TYPE_, | ||||
_MEMBER_VARIABLE_NAME_ | ||||
) |
bool operator<( const DataStructures::MLKeyRef<_KEY_TYPE_> &inputKey, const _CLASS_NAME_ *cls ) {return inputKey.Get() < cls->_MEMBER_VARIABLE_NAME_;} \ bool operator>( const DataStructures::MLKeyRef<_KEY_TYPE_> &inputKey, const _CLASS_NAME_ *cls ) {return inputKey.Get() > cls->_MEMBER_VARIABLE_NAME_;} \ bool operator==( const DataStructures::MLKeyRef<_KEY_TYPE_> &inputKey, const _CLASS_NAME_ *cls ) {return inputKey.Get() == cls->_MEMBER_VARIABLE_NAME_;}
For the Multilist, when _DataType != _KeyType, you must define the comparison operators between the key and the data This is non-trivial due to the need to use MLKeyRef in case the type held is a pointer to a structure or class and the key type is not a class For convenience, this macro will implement the comparison operators under the following conditions 1. _DataType is a pointer to a class or structure 2. The key is a member variable of _DataType
Definition at line 78 of file DS_Multilist.h.
enum MultilistType |
What algorithm to use to store the data for the Multilist.
Definition at line 27 of file DS_Multilist.h.