Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2016-12-12 13:46:21 +0300
committerVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2016-12-12 13:46:21 +0300
commit4f39c5d766c9babeb1757da9398c45b2e9cc1e56 (patch)
tree0731f747088ded3fd890ac7b1e2ccc6613d7368e /traffic
parentbd675c6b08cd7eda774548474a32787f2a96963a (diff)
Traffic cache for routing memory optimization.
Diffstat (limited to 'traffic')
-rw-r--r--traffic/traffic_cache.cpp17
-rw-r--r--traffic/traffic_cache.hpp8
2 files changed, 12 insertions, 13 deletions
diff --git a/traffic/traffic_cache.cpp b/traffic/traffic_cache.cpp
index ec0373b7e6..71b37f6ba2 100644
--- a/traffic/traffic_cache.cpp
+++ b/traffic/traffic_cache.cpp
@@ -2,22 +2,21 @@
namespace traffic
{
-void TrafficCache::Set(TrafficInfo && info)
+void TrafficCache::Set(MwmSet::MwmId const & mwmId, TrafficInfo::Coloring && coloring)
{
- MwmSet::MwmId const mwmId = info.GetMwmId();
- m_trafficInfo[mwmId] = make_shared<TrafficInfo>(move(info));
+ m_trafficColoring[mwmId] = make_shared<TrafficInfo::Coloring>(move(coloring));
}
-void TrafficCache::Remove(MwmSet::MwmId const & mwmId) { m_trafficInfo.erase(mwmId); }
+void TrafficCache::Remove(MwmSet::MwmId const & mwmId) { m_trafficColoring.erase(mwmId); }
-shared_ptr<TrafficInfo> TrafficCache::GetTrafficInfo(MwmSet::MwmId const & mwmId) const
+shared_ptr<TrafficInfo::Coloring> TrafficCache::GetTrafficInfo(MwmSet::MwmId const & mwmId) const
{
- auto it = m_trafficInfo.find(mwmId);
+ auto it = m_trafficColoring.find(mwmId);
- if (it == m_trafficInfo.cend())
- return shared_ptr<TrafficInfo>();
+ if (it == m_trafficColoring.cend())
+ return shared_ptr<TrafficInfo::Coloring>();
return it->second;
}
-void TrafficCache::Clear() { m_trafficInfo.clear(); }
+void TrafficCache::Clear() { m_trafficColoring.clear(); }
} // namespace traffic
diff --git a/traffic/traffic_cache.hpp b/traffic/traffic_cache.hpp
index ba79312a6f..4412f20cb6 100644
--- a/traffic/traffic_cache.hpp
+++ b/traffic/traffic_cache.hpp
@@ -11,17 +11,17 @@ namespace traffic
class TrafficCache
{
public:
- TrafficCache() : m_trafficInfo() {}
+ TrafficCache() : m_trafficColoring() {}
virtual ~TrafficCache() = default;
- virtual shared_ptr<traffic::TrafficInfo> GetTrafficInfo(MwmSet::MwmId const & mwmId) const;
+ virtual shared_ptr<traffic::TrafficInfo::Coloring> GetTrafficInfo(MwmSet::MwmId const & mwmId) const;
protected:
- void Set(traffic::TrafficInfo && info);
+ void Set(MwmSet::MwmId const & mwmId, TrafficInfo::Coloring && mwmIdAndColoring);
void Remove(MwmSet::MwmId const & mwmId);
void Clear();
private:
- map<MwmSet::MwmId, shared_ptr<traffic::TrafficInfo>> m_trafficInfo;
+ map<MwmSet::MwmId, shared_ptr<traffic::TrafficInfo::Coloring>> m_trafficColoring;
};
} // namespace traffic