All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IndoorMapEntityInformationModelRepository.h
1 #pragma once
2 
3 #include "IndoorMapEntityInformationTypes.h"
4 
5 #include <unordered_map>
6 #include <unordered_set>
7 #include <vector>
8 
9 namespace Eegeo
10 {
11  namespace IndoorMapEntityInformation
12  {
14  {
15  public:
17 
19 
20  void Add(IndoorMapEntityInformationModel* pIndoorMapEntityInformationModel);
21 
22  void Remove(IndoorMapEntityInformationModelId id);
23 
24  bool Contains(IndoorMapEntityInformationModelId id) const;
25 
26  IndoorMapEntityInformationModel* Get(IndoorMapEntityInformationModelId id) const;
27 
28  IndoorMapEntityInformationModel* FindFirstForIndoorMapIdOrNull(const std::string& indoorMapId) const;
29 
30  std::vector<IndoorMapEntityInformationModelId> GetAllIds() const;
31  private:
32  std::unordered_map<IndoorMapEntityInformationModelId, IndoorMapEntityInformationModel*> m_store;
33  };
34  }
35 }