blob: aa8a6048211a409fc728bc6ba625b404dededa88 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// File: NCollection_DefineIndexedDataMap.hxx
// Created: Thu Apr 24 15:02:53 2002
// Author: Alexander KARTOMIN (akm)
// <akm@opencascade.com>
//
// Purpose: An indexed map is used to store keys and to bind
// an index to them. Each new key stored in the map
// gets an index. Index are incremented as keys are
// stored in the map. A key can be found by the index
// and an index by the key. No key but the last can
// be removed so the indices are in the range 1..
// Extent. An Item is stored with each key.
//
// This class is similar to IndexedMap from
// NCollection with the Item as a new feature. Note
// the important difference on the operator (). In
// the IndexedMap this operator returns the Key. In
// the IndexedDataMap this operator returns the Item.
//
// See the class Map from NCollection for a
// discussion about the number of buckets.
//
#ifndef NCollection_DefineIndexedDataMap_HeaderFile
#define NCollection_DefineIndexedDataMap_HeaderFile
#include <NCollection_DefineBaseCollection.hxx>
#include <NCollection_IndexedDataMap.hxx>
#ifdef WNT
// Disable the warning "operator new unmatched by delete"
#pragma warning (disable:4291)
#endif
// *********************************************** Class IndexedDataMap ******
#define DEFINE_INDEXEDDATAMAP(_ClassName_, _BaseCollection_, TheKeyType, TheItemType) \
typedef NCollection_IndexedDataMap <TheKeyType, TheItemType > _ClassName_;
#endif
|