Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
MultiMap.hxx
Go to the documentation of this file.
1
35#ifndef _UTILS_MULTIMAP_HXX_
36#define _UTILS_MULTIMAP_HXX_
37
38#if defined (__LINEAR_MULTIMAP__)
39#include "utils/LinearMultiMap.hxx"
41#define BASE_CLASS LinearMultiMap
42
43#elif defined (__USE_LIBSTDCPP__)
44#include "utils/StlMultiMap.hxx"
46#define BASE_CLASS StlMultiMap
47
48#else
49#include "utils/StlMultiMap.hxx"
51#define BASE_CLASS StlMultiMap
52
53#endif
54
58template <typename Key, typename Value> class MultiMap : public BASE_CLASS <Key, Value>
59{
60public:
64 : BASE_CLASS<Key, Value>()
65 {
66 }
67
71 MultiMap(size_t entries)
72 : BASE_CLASS<Key, Value>(entries)
73 {
74 }
75
79 {
80 }
81
82private:
84};
85
86#undef BASE_CLASS
87
88#endif /* _UTILS_MULTIMAP_HXX_ */
#define BASE_CLASS
Define StlMultiMap as the base class for MultiMap.
Definition MultiMap.hxx:51
MultiMap abstraction that will allow access to one of StlMultiMap or LinearMultiMap.
Definition MultiMap.hxx:59
MultiMap()
Default Constructor which with no mapping entry limit.
Definition MultiMap.hxx:63
MultiMap(size_t entries)
Constructor that limits the number of mappings to a static pool.
Definition MultiMap.hxx:71
~MultiMap()
Destructor.
Definition MultiMap.hxx:78
#define DISALLOW_COPY_AND_ASSIGN(TypeName)
Removes default copy-constructor and assignment added by C++.
Definition macros.h:171