DDraceNetwork Docs
CNetBan::CBanPool< T, HashCount > Class Template Reference

#include <netban.h>

Collaboration diagram for CNetBan::CBanPool< T, HashCount >:
[legend]

Public Types

typedef T CDataType
 

Public Member Functions

CBan< CDataType > * Add (const CDataType *pData, const CBanInfo *pInfo, const CNetHash *pNetHash)
 
int Remove (CBan< CDataType > *pBan)
 
void Update (CBan< CDataType > *pBan, const CBanInfo *pInfo)
 
void Reset ()
 
int Num () const
 
bool IsFull () const
 
CBan< CDataType > * First () const
 
CBan< CDataType > * First (const CNetHash *pNetHash) const
 
CBan< CDataType > * Find (const CDataType *pData, const CNetHash *pNetHash) const
 
CBan< CDataType > * Get (int Index) const
 

Private Types

enum  { MAX_BANS = 2048 }
 

Private Member Functions

void InsertUsed (CBan< CDataType > *pBan)
 

Private Attributes

CBan< CDataType > * m_aapHashList [HashCount][256]
 
CBan< CDataTypem_aBans [MAX_BANS]
 
CBan< CDataType > * m_pFirstFree
 
CBan< CDataType > * m_pFirstUsed
 
int m_CountUsed
 

Member Typedef Documentation

◆ CDataType

template<class T , int HashCount>
typedef T CNetBan::CBanPool< T, HashCount >::CDataType

Member Enumeration Documentation

◆ anonymous enum

template<class T , int HashCount>
anonymous enum
private
Enumerator
MAX_BANS 

Member Function Documentation

◆ Add()

template<class T , int HashCount>
CNetBan::CBan< T > * CNetBan::CBanPool< T, HashCount >::Add ( const CDataType pData,
const CBanInfo pInfo,
const CNetHash pNetHash 
)

◆ Find()

template<class T , int HashCount>
CBan< CDataType > * CNetBan::CBanPool< T, HashCount >::Find ( const CDataType pData,
const CNetHash pNetHash 
) const
inline

◆ First() [1/2]

template<class T , int HashCount>
CBan< CDataType > * CNetBan::CBanPool< T, HashCount >::First ( ) const
inline

◆ First() [2/2]

template<class T , int HashCount>
CBan< CDataType > * CNetBan::CBanPool< T, HashCount >::First ( const CNetHash pNetHash) const
inline

◆ Get()

template<class T , int HashCount>
CNetBan::CBan< T > * CNetBan::CBanPool< T, HashCount >::Get ( int  Index) const

◆ InsertUsed()

template<class T , int HashCount>
void CNetBan::CBanPool< T, HashCount >::InsertUsed ( CBan< CDataType > *  pBan)
private

◆ IsFull()

template<class T , int HashCount>
bool CNetBan::CBanPool< T, HashCount >::IsFull ( ) const
inline

◆ Num()

template<class T , int HashCount>
int CNetBan::CBanPool< T, HashCount >::Num ( ) const
inline

◆ Remove()

template<class T , int HashCount>
int CNetBan::CBanPool< T, HashCount >::Remove ( CBan< CDataType > *  pBan)

◆ Reset()

template<class T , int HashCount>
void CNetBan::CBanPool< T, HashCount >::Reset ( )

◆ Update()

template<class T , int HashCount>
void CNetBan::CBanPool< T, HashCount >::Update ( CBan< CDataType > *  pBan,
const CBanInfo pInfo 
)

Member Data Documentation

◆ m_aapHashList

template<class T , int HashCount>
CBan<CDataType>* CNetBan::CBanPool< T, HashCount >::m_aapHashList[HashCount][256]
private

◆ m_aBans

template<class T , int HashCount>
CBan<CDataType> CNetBan::CBanPool< T, HashCount >::m_aBans[MAX_BANS]
private

◆ m_CountUsed

template<class T , int HashCount>
int CNetBan::CBanPool< T, HashCount >::m_CountUsed
private

◆ m_pFirstFree

template<class T , int HashCount>
CBan<CDataType>* CNetBan::CBanPool< T, HashCount >::m_pFirstFree
private

◆ m_pFirstUsed

template<class T , int HashCount>
CBan<CDataType>* CNetBan::CBanPool< T, HashCount >::m_pFirstUsed
private

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