LRAUV  revA
UnitRegistry.h
Go to the documentation of this file.
1 
9 #ifndef UNITREGISTRY_H_
10 #define UNITREGISTRY_H_
11 
12 #include "utils/FastMap.h"
13 
14 class Str;
15 class Unit;
17 
25 {
26 public:
27 
28  static void AddUnit( const Unit* unit );
29  static const Unit* FindUnit( const Str& name );
30  static unsigned int Size();
31  static const Str& GetIndexedKey( unsigned int index );
32  static const Unit* GetIndexedUnit( unsigned int index );
33 
34 protected:
35 
38 
41  {
42  public:
44  };
45 
48 
49 private:
50 
52  : unitMap_()
53  {}
54 
55 };
56 
57 #endif /*UNITREGISTRY_H_*/
static UnitRegistry::StaticDestructor StaticDestructor_
Static instance of StaticDestructor.
Definition: UnitRegistry.h:47
static unsigned int Size()
Definition: UnitRegistry.cpp:62
UnitRegistry()
Definition: UnitRegistry.h:51
static UnitRegistry * Instance_
Definition: UnitRegistry.h:36
~StaticDestructor()
Definition: UnitRegistry.cpp:19
static const Str & GetIndexedKey(unsigned int index)
Definition: UnitRegistry.cpp:71
Replacement for standard template class string.
Definition: Str.h:12
static const Unit * GetIndexedUnit(unsigned int index)
Definition: UnitRegistry.cpp:81
static const Unit * FindUnit(const Str &name)
Definition: UnitRegistry.cpp:53
FastMap< const Str, const Unit * > UnitMap
Definition: UnitRegistry.h:15
Provides mapping between unit names and units.
Definition: UnitRegistry.h:24
Contains the FastMap class declaration.
Makes sure that instance_ is deleted on shutdown.
Definition: UnitRegistry.h:40
static void AddUnit(const Unit *unit)
Definition: UnitRegistry.cpp:28
UnitMap unitMap_
Definition: UnitRegistry.h:37
Code that represents an engineering unit.
Definition: Unit.h:24