VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vlHashlist.h
Go to the documentation of this file.
1 /*********************************************************************
2  ** Copyright (c) 1992-2010 VT MAK
3  ** All rights reserved.
4  *********************************************************************/
8 #pragma once
9 
10 #include "vlList.h"
11 #include "vlHashKeys.h"
12 
13 #ifdef DtUSE_UTILITIES_NAMESPACE
14 namespace DtUSE_UTILITIES_NAMESPACE
15 {
16 #endif
17 
18 
19 
24  {
25  public:
26 
28  DtHashItem(const DtBaseHashKey& key, DtListItem* item);
29 
31  virtual ~DtHashItem();
32 
34  DtHashItem(const DtHashItem& orig);
35 
37  DtHashItem& operator=(const DtHashItem& orig);
38 
40  virtual const DtBaseHashKey& hashKey() const;
41 
43  virtual DtListItem* listItem() const;
44  virtual DtListItem* keyItem() const;
45  virtual void setKeyItem(DtListItem* keyItem);
46 
47  protected:
48 
52  };
53 
54 
70  {
71  protected:
72 
76  static const int theDfltNumBuckets;
77 
78  public:
79 
82  DtHashlist(int numBuckets = theDfltNumBuckets);
83 
86  DtHashlist(DtList* list, int numBuckets = theDfltNumBuckets);
87 
89  virtual ~DtHashlist();
90 
96  DtHashlist(const DtHashlist& orig);
97 
101  DtHashlist& operator=(const DtHashlist& orig);
102 
110  virtual DtListItem* add(const DtBaseHashKey& key,
111  void* data, void** oldData = NULL);
112 
115  virtual void* remove(const DtBaseHashKey& key);
116 
118  virtual void* lookup(const DtBaseHashKey& key) const;
119  virtual void* operator[] (const DtBaseHashKey& key) const;
120 
123  virtual const DtList* list() const;
124 
126  virtual void print() const;
127 
130  virtual const DtList* keys() const;
131 
133  virtual void empty();
134 
138  virtual void setFromOther(const DtHashlist& orig);
139 
140  protected:
141 
143  virtual DtListItem* itemLookup(const DtBaseHashKey& key) const;
144 
146  virtual DtList& bucketFromHashKey(const DtBaseHashKey& key) const;
147 
149  virtual DtListItem* bucketItemLookup(const DtBaseHashKey& key) const;
150 
151  protected:
152 
154  const bool myListIsMine;
155 
159 
162 
165 
166  };
167 
170 
172  inline void* DtHashlist::operator[] (const DtBaseHashKey& key) const
173  {
174  return lookup(key);
175  }
176 
177 #ifdef DtUSE_UTILITIES_NAMESPACE
178 }
179 #endif
180 

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)