base_dlist.hh File Reference

Template class for a circular double-link list. More...

Go to the source code of this file.

Namespaces

namespace  base

Classes

class  base::Dlink< T, LOCK >
 Class for a link in a Dlist. More...
class  base::Dlist< T, LOCK >
 Template class for a circular double-link list. More...
class  base::DlistIterator< T, LOCK >
 Iterator to traverse a Dlist. More...

Defines

#define BASE_DLIST_HH   1
#define DLIST_SENTINEL_NULL_OBJ   (reinterpret_cast<T*>(ILLEGAL_PTR))
#define CHECK_DLIST_HEAD_TAIL()


Detailed Description

Template class for a circular double-link list.

Id
LastChangedDate

Author:
Jim E. Brooks http://www.palomino3d.org
Remarks:
"list" and "link" are reserved by C++ and UNIX resp. Why not use std::list? Because Dlist is (mostly) thread-safe and can detect memory corruption by checking type-signatures.

Define Documentation

#define BASE_DLIST_HH   1

 
#define CHECK_DLIST_HEAD_TAIL (  ) 

Value:

CHECK_TYPESIG( mHead, TYPESIG_DLINK ); \
    CHECK_TYPESIG( mTail, TYPESIG_DLINK ); \
    ASSERT( mHead->mObj == DLIST_SENTINEL_NULL_OBJ );

#define DLIST_SENTINEL_NULL_OBJ   (reinterpret_cast<T*>(ILLEGAL_PTR))

Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:13 2007