All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
NavGraphFittingInfoRepository.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Streaming.h"
7 #include "tr1.h"
8 #include "Routes.h"
9 #include <vector>
10 
11 namespace Eegeo
12 {
13  namespace Routes
14  {
15  namespace Fitting
16  {
18  {
19  public:
21  {
22 
23  }
24 
26  {
27 
28  }
29 
30  void Add(const Streaming::MortonKey& key, const NavGraphFittingInfoForKey* roadSplines);
31  void Remove(const Streaming::MortonKey& key);
32  bool Contains(const Streaming::MortonKey& key) const;
33  const NavGraphFittingInfoForKey* Get(const Streaming::MortonKey & key) const;
34  const NavGraphFittingInfoForKey* TryGet(const Streaming::MortonKey& key) const;
35 
36  void GetAll(std::vector<const NavGraphFittingInfoForKey*>& values) const;
37  void Clear() { m_map.clear(); }
38  private:
39  typedef Eegeo::unordered_map<s64, const NavGraphFittingInfoForKey*>::type TMap;
40  TMap m_map;
41  };
42  }
43  }
44 }