![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtObjectIdHashlist_H_ 00011 #define DtObjectIdHashlist_H_ 00012 00013 #include <vlutil/vlHashlist.h> 00014 #include "objectId.h" 00015 00019 class DT_DLL_VL DtObjectIdHashlist 00020 { 00021 public: 00022 00025 DtObjectIdHashlist(bool intrusive = false); 00026 00028 virtual ~DtObjectIdHashlist(); 00029 00037 00038 virtual DtListItem* add( 00039 const DtObjectId& key, void* data, void** oldData = NULL); 00040 00043 virtual void* remove(const DtObjectId& key); 00044 00046 virtual void* lookup(const DtObjectId& key) const; 00047 virtual void* operator[](const DtObjectId& key) const; 00048 00051 virtual const DtList* list() const; 00052 00054 virtual void empty(); 00055 00056 protected: 00057 00059 DtObjectIdHashlist(const DtObjectIdHashlist& orig); 00060 00062 DtObjectIdHashlist& operator=(const DtObjectIdHashlist& orig); 00063 00064 protected: 00065 00066 DtList* myList; 00067 DtHashlist* myHashlist; 00068 }; 00069 00070 typedef DtObjectIdHashlist DtObjectIdHashList; 00071 00072 inline void* DtObjectIdHashlist::operator[](const DtObjectId& key) const 00073 { 00074 return lookup(key); 00075 } 00076 00077 #endif 00078