diff options
author | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2016-02-15 14:07:18 +0300 |
---|---|---|
committer | Sergey Yershov <yershov@corp.mail.ru> | 2016-03-23 16:21:18 +0300 |
commit | aad9bc9bc6d260d5ac754d3f6a205e7fd6315b62 (patch) | |
tree | 6d1a7d0ce23afb621fde2f8b8e552ce332b2bc72 /drape/overlay_tree.hpp | |
parent | 10acff2d6e175c74c79d34e48b1d34ff08ed0b09 (diff) |
Review fixes
Diffstat (limited to 'drape/overlay_tree.hpp')
-rw-r--r-- | drape/overlay_tree.hpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/drape/overlay_tree.hpp b/drape/overlay_tree.hpp index 878bd1938b..817680ff45 100644 --- a/drape/overlay_tree.hpp +++ b/drape/overlay_tree.hpp @@ -9,7 +9,7 @@ #include "std/array.hpp" #include "std/vector.hpp" -#include "std/unordered_map.hpp" +#include "std/unordered_set.hpp" namespace dp { @@ -29,6 +29,16 @@ struct OverlayTraits } }; +struct OverlayHasher +{ + hash<OverlayHandle*> m_hasher; + + size_t operator()(ref_ptr<OverlayHandle> const & handle) const + { + return m_hasher(handle.get()); + } +}; + } using TOverlayContainer = buffer_vector<ref_ptr<OverlayHandle>, 8>; @@ -75,14 +85,9 @@ private: ref_ptr<OverlayHandle> & parentOverlay) const; void DeleteHandle(ref_ptr<OverlayHandle> const & handle); - uint64_t GetHandleKey(ref_ptr<OverlayHandle> const & handle) const; - int m_frameCounter; array<vector<ref_ptr<OverlayHandle>>, dp::OverlayRanksCount> m_handles; - vector<ref_ptr<OverlayHandle>> m_handlesToDelete; - - unordered_map<uint64_t, ref_ptr<OverlayHandle>> m_handlesCache; - + unordered_set<ref_ptr<OverlayHandle>, detail::OverlayHasher> m_handlesCache; bool m_followingMode; #ifdef COLLECT_DISPLACEMENT_INFO |