diff options
author | Maxim Pimenov <m@maps.me> | 2017-02-14 17:38:13 +0300 |
---|---|---|
committer | Maxim Pimenov <m@maps.me> | 2017-02-14 18:23:56 +0300 |
commit | 0ddbe71640f6b4b65221761204306711dd0158e1 (patch) | |
tree | 380e59665024eb1b86a1111329e76955996f0f16 /base | |
parent | a1f4ac5953e858dc4199a54e0eef81fde41ffaa2 (diff) |
Review fixes.
Diffstat (limited to 'base')
-rw-r--r-- | base/mem_trie.hpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/base/mem_trie.hpp b/base/mem_trie.hpp index 6bd161eed9..efc5a90cc0 100644 --- a/base/mem_trie.hpp +++ b/base/mem_trie.hpp @@ -29,7 +29,7 @@ public: { m_root = std::move(rhs.m_root); m_numNodes = rhs.m_numNodes; - rhs.m_numNodes = 1; + rhs.Clear(); return *this; } @@ -103,6 +103,12 @@ public: ForEachInSubtree(*root, prefix, std::forward<ToDo>(toDo)); } + void Clear() + { + m_root.Clear(); + m_numNodes = 1; + } + size_t GetNumNodes() const { return m_numNodes; } Iterator GetRootIterator() const { return Iterator(m_root); } Node const & GetRoot() const { return m_root; } @@ -134,6 +140,12 @@ private: void AddValue(Value const & value) { m_values.push_back(value); } + void Clear() + { + m_moves.clear(); + m_values.clear(); + } + std::map<Char, std::unique_ptr<Node>> m_moves; std::vector<Value> m_values; |