VR-Link API Documentation for HLA 1516
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vlutil
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
23
class
DT_DLL_VLUTIL
DtHashItem
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
49
DtBaseHashKey
*
myKey
;
50
DtListItem
*
myItem
;
51
DtListItem
*
myKeyItem
;
52
};
53
54
69
class
DT_DLL_VLUTIL
DtHashlist
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
153
int
myNumBuckets
;
154
const
bool
myListIsMine
;
155
158
DtList
*
myList
;
159
161
DtList
*
myBuckets
;
162
164
DtList
myKeys
;
165
166
};
167
169
typedef
DtHashlist
DtHashList
;
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 Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)