Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY > Struct Template Reference

#include <cKernel.h>

Inheritance diagram for GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >:
GrayKernel::CKeList

Public Member Functions

TYPEget_Head () const
 
TYPERemoveHead ()
 
bool IsLast (TYPE *pObj) const
 
void DestroyList ()
 
void AddHead (TYPE *pObj)
 
void AddTail (TYPE *pObj)
 
void AddTailLocked (TYPE *pObj, PKSPIN_LOCK pSpinLock)
 
TYPEGetNext (TYPE *pObj) const
 
- Public Member Functions inherited from GrayKernel::CKeList
void InitList ()
 
bool IsListEmptyX () const
 
PLIST_ENTRY get_Head () const
 
int get_Count () const
 
PLIST_ENTRY RemoveHead ()
 
void AddHead (PLIST_ENTRY pObj)
 
void AddTail (PLIST_ENTRY pObj)
 
void AddTailLocked (PLIST_ENTRY pObj, PKSPIN_LOCK pSpinLock)
 
bool IsListLinked () const
 
PLIST_ENTRY get_Prev () const
 
PLIST_ENTRY get_Next () const
 
void RemoveFromList ()
 

Static Public Member Functions

static TYPEGetCast (PLIST_ENTRY pObj)
 
static PLIST_ENTRY GetCast (TYPE *pObj)
 

Detailed Description

template<class TYPE, int _OFFSET_ENTRY = 0>
struct GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >

A circular doubly linked list. ASSUME nothing about list locking.

Member Function Documentation

◆ AddHead()

template<class TYPE , int _OFFSET_ENTRY = 0>
void GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::AddHead ( TYPE pObj)
inline

◆ AddTail()

template<class TYPE , int _OFFSET_ENTRY = 0>
void GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::AddTail ( TYPE pObj)
inline

◆ AddTailLocked()

template<class TYPE , int _OFFSET_ENTRY = 0>
void GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::AddTailLocked ( TYPE pObj,
PKSPIN_LOCK  pSpinLock 
)
inline

◆ DestroyList()

template<class TYPE , int _OFFSET_ENTRY = 0>
void GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::DestroyList ( )
inline

Free the whole list. traverse the list and DestroyThis() each of the entries.

◆ get_Head()

template<class TYPE , int _OFFSET_ENTRY = 0>
TYPE* GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::get_Head ( void  ) const
inline

◆ GetCast() [1/2]

template<class TYPE , int _OFFSET_ENTRY = 0>
static TYPE* GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::GetCast ( PLIST_ENTRY  pObj)
inlinestatic

Acts like CONTAINING_RECORD() and offsetof()

◆ GetCast() [2/2]

template<class TYPE , int _OFFSET_ENTRY = 0>
static PLIST_ENTRY GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::GetCast ( TYPE pObj)
inlinestatic

Acts like CONTAINING_RECORD() and offsetof()

◆ GetNext()

template<class TYPE , int _OFFSET_ENTRY = 0>
TYPE* GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::GetNext ( TYPE pObj) const
inline

◆ IsLast()

template<class TYPE , int _OFFSET_ENTRY = 0>
bool GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::IsLast ( TYPE pObj) const
inline

◆ RemoveHead()

template<class TYPE , int _OFFSET_ENTRY = 0>
TYPE* GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >::RemoveHead ( )
inline

remove the list head. (if there is one)


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