gwnavgeneration/generator/navdataelementglobalmap.h Source File

navdataelementglobalmap.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 // primary contact: GUAL - secondary contact: NOBODY
9 #ifndef GwNavGen_GeneratorNavDataElementMap_H
10 #define GwNavGen_GeneratorNavDataElementMap_H
11 
12 
15 
16 
17 namespace Kaim
18 {
19 
20 class GeneratorNavDataElement;
21 class GeneratorNavDataElementMap_Implementation;
22 class GeneratorGuidCompound;
23 
24 // GeneratorNavDataElementMap allows
25 // - to get a GeneratorNavDataElement from a guidCompound in O(log(N))
26 // - to get all the GeneratorNavDataElements in an array
27 // GeneratorNavDataElementMap is used as a member in GeneratorSectorBuilder and in GeneratorSystem
28 // using a Kaim::Hash hidden in GeneratorNavDataElementMap_Implementation in the cpp
29 class GeneratorNavDataElementMap
30 {
31  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_NavDataGen)
32  KY_CLASS_WITHOUT_COPY(GeneratorNavDataElementMap)
33 public:
34  GeneratorNavDataElementMap();
35  ~GeneratorNavDataElementMap();
36 
37  void Clear();
38 
39  void Add(GeneratorNavDataElement& navDataElement);
40 
41  GeneratorNavDataElement* Get(const GeneratorGuidCompound& guidCompound) const;
42 
43  const KyArrayPOD<GeneratorNavDataElement*>& GetArray() const;
44 
45 private:
46  GeneratorNavDataElementMap_Implementation* m_impl;
47 };
48 
49 
50 }
51 
52 
53 #endif
54 
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137