Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# THandleMgr< DATA, HANDLE > Class Template Reference

`#include <THandle.h>`

List of all members.

## Public Types
typedef std::vector< DATA > | DataVec
typedef std::vector< unsigned int > | MagicVec
typedef std::vector< unsigned int > | FreeVec
typedef std::vector< int > | RefVec
## Public Member Functions
| THandleMgr (void)
| ~THandleMgr (void)
DATA * | GetDataAt (int Index)
void | SetEraseMethod (EraseType pType)
unsigned int | GetUsedHandleCount (void) const
bool | HasUsedHandles (void) const
int | AddReference (HANDLE &pHandle)
int | ReleaseReference (HANDLE &pHandle)
DATA * | Acquire (HANDLE &handle)
DATA * | AddItem (HANDLE &handle, const DATA &data)
void | Release (HANDLE &handle)
DATA * | GetData (HANDLE handle)
const DATA * | GetData (HANDLE handle) const
void | EraseEntries (void)
## Static Public Member Functions
THandleMgr< DATA, HANDLE > * | GetHandleMgr (void)
## Protected Attributes
EraseType | m_EraseType
DataVec | m_UserData
MagicVec | m_MagicNumbers
FreeVec | m_FreeSlots
RefVec | m_References
## Static Protected Attributes
THandleMgr< DATA, HANDLE > * | m_Singleton

### template<typename DATA, typename HANDLE>
class THandleMgr< DATA, HANDLE >

## Member Typedef Documentation

template<typename DATA, typename HANDLE>
typedef std::vector<DATA> THandleMgr< DATA, HANDLE >::DataVec

template<typename DATA, typename HANDLE>
typedef std::vector<unsigned int> THandleMgr< DATA, HANDLE >::FreeVec

template<typename DATA, typename HANDLE>
typedef std::vector<unsigned int> THandleMgr< DATA, HANDLE >::MagicVec

template<typename DATA, typename HANDLE>
typedef std::vector<int> THandleMgr< DATA, HANDLE >::RefVec

## Constructor & Destructor Documentation

template<typename DATA, typename HANDLE>
THandleMgr< DATA, HANDLE >::THandleMgr | ( | void |  | ) | `[inline]`

template<typename DATA, typename HANDLE>
THandleMgr< DATA, HANDLE >::~THandleMgr | ( | void |  | ) | `[inline]`

## Member Function Documentation

template<typename DATA, typename HANDLE>
DATA* THandleMgr< DATA, HANDLE >::Acquire | ( | HANDLE & | handle | ) | `[inline]`

template<typename DATA, typename HANDLE>
DATA* THandleMgr< DATA, HANDLE >::AddItem | ( | HANDLE & | handle,
|  | const DATA & | data
| ) | `[inline]`

template<typename DATA, typename HANDLE>
int THandleMgr< DATA, HANDLE >::AddReference | ( | HANDLE & | pHandle | ) | `[inline]`

template<typename DATA, typename HANDLE>
void THandleMgr< DATA, HANDLE >::EraseEntries | ( | void |  | ) | `[inline]`

template<typename DATA, typename HANDLE>
const DATA* THandleMgr< DATA, HANDLE >::GetData | ( | HANDLE | handle | ) | const`[inline]`

template<typename DATA, typename HANDLE>
DATA* THandleMgr< DATA, HANDLE >::GetData | ( | HANDLE | handle | ) | `[inline]`

template<typename DATA, typename HANDLE>
DATA* THandleMgr< DATA, HANDLE >::GetDataAt | ( | int | Index | ) | `[inline]`

template<typename DATA, typename HANDLE>
THandleMgr<DATA, HANDLE>* THandleMgr< DATA, HANDLE >::GetHandleMgr | ( | void |  | ) | `[inline, static]`

template<typename DATA, typename HANDLE>
unsigned int THandleMgr< DATA, HANDLE >::GetUsedHandleCount | ( | void |  | ) | const`[inline]`

template<typename DATA, typename HANDLE>
bool THandleMgr< DATA, HANDLE >::HasUsedHandles | ( | void |  | ) | const`[inline]`

template<typename DATA, typename HANDLE>
void THandleMgr< DATA, HANDLE >::Release | ( | HANDLE & | handle | ) | `[inline]`

template<typename DATA, typename HANDLE>
int THandleMgr< DATA, HANDLE >::ReleaseReference | ( | HANDLE & | pHandle | ) | `[inline]`

template<typename DATA, typename HANDLE>
void THandleMgr< DATA, HANDLE >::SetEraseMethod | ( | EraseType | pType | ) | `[inline]`

## Member Data Documentation

template<typename DATA, typename HANDLE>
EraseType THandleMgr< DATA, HANDLE >::m_EraseType`[protected]`

template<typename DATA, typename HANDLE>
FreeVec THandleMgr< DATA, HANDLE >::m_FreeSlots`[protected]`

template<typename DATA, typename HANDLE>
MagicVec THandleMgr< DATA, HANDLE >::m_MagicNumbers`[protected]`

template<typename DATA, typename HANDLE>
RefVec THandleMgr< DATA, HANDLE >::m_References`[protected]`

template<typename DATA, typename HANDLE>
THandleMgr<DATA, HANDLE>* THandleMgr< DATA, HANDLE >::m_Singleton`[static, protected]`

template<typename DATA, typename HANDLE>
DataVec THandleMgr< DATA, HANDLE >::m_UserData`[protected]`

The documentation for this class was generated from the following file:

- THandle.h