VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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 Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)