Lines Matching refs:MatchTrie
185 class MatchTrie { class
187 MatchTrie* Add(const std::string& str) { in Add()
188 MatchTrie* node = this; in Add()
193 MatchTrie* new_node = new MatchTrie(); in Add()
208 MatchTrie* LongestPrefix(const std::string& str) { in LongestPrefix()
209 MatchTrie* node = this; in LongestPrefix()
220 for (const std::unique_ptr<MatchTrie>& cur_node : nodes_) { in IsLeaf()
235 for (MatchTrie* cur = parent_; cur != nullptr; cur = cur->parent_) { in Savings()
266 std::priority_queue<std::pair<int32_t, MatchTrie*>> queue; in ExtractPrefixes()
268 std::vector<MatchTrie*> work(1, this); in ExtractPrefixes()
270 MatchTrie* elem = work.back(); in ExtractPrefixes()
273 for (const std::unique_ptr<MatchTrie>& child : elem->nodes_) { in ExtractPrefixes()
283 std::priority_queue<std::pair<int32_t, MatchTrie*>> prefixes; in ExtractPrefixes()
286 std::pair<int32_t, MatchTrie*> pair = PopRealTop(queue); in ExtractPrefixes()
291 for (MatchTrie* cur = pair.second->parent_; cur != this; cur = cur->parent_) { in ExtractPrefixes()
297 for (MatchTrie* cur = pair.second->parent_; cur != this; cur = cur->parent_) { in ExtractPrefixes()
307 std::pair<int32_t, MatchTrie*> pair = PopRealTop(prefixes); in ExtractPrefixes()
318 for (const MatchTrie* cur = this; cur->parent_ != nullptr; cur = cur->parent_) { in GetString()
324 std::unique_ptr<MatchTrie> nodes_[256];
325 MatchTrie* parent_ = nullptr;
339 std::unique_ptr<MatchTrie> prefixe_trie(new MatchTrie()); in Build()
364 prefixe_trie.reset(new MatchTrie()); in Build()
369 MatchTrie* node = prefixe_trie->LongestPrefix(str); in Build()
403 MatchTrie* node = prefixe_trie->LongestPrefix(str); in Build()