| 86 | } |
| 87 | |
| 88 | Status InitializeTrie(const std::vector<std::string>& inputs, Trie* trie) { |
| 89 | TrieBuilder builder; |
| 90 | for (const auto& s : inputs) { |
| 91 | RETURN_NOT_OK(builder.Append(s, true /* allow_duplicates */)); |
| 92 | } |
| 93 | *trie = builder.Finish(); |
| 94 | return Status::OK(); |
| 95 | } |
| 96 | |
| 97 | // Presize a builder based on parser contents |
| 98 | template <typename BuilderType> |