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:
authorMaxim Pimenov <m@maps.me>2015-07-24 17:06:55 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:58:25 +0300
commita5b97c77b982969e0eec4b31fb66af9c624707ba (patch)
tree5d84be268ae7a93556e6eab167099eadbda17236
parente495039d778dbe6360b05f2b81cecc2efcb00bc3 (diff)
[omim] [search] Remove redundant namespaces.
-rw-r--r--coding/coding_tests/trie_test.cpp22
-rw-r--r--coding/trie.hpp8
-rw-r--r--coding/trie_builder.hpp12
-rw-r--r--coding/trie_reader.hpp4
-rw-r--r--generator/dumper.cpp13
-rw-r--r--indexer/search_index_builder.cpp36
-rw-r--r--indexer/search_trie.hpp26
-rw-r--r--search/feature_offset_match.hpp59
-rw-r--r--search/retrieval.cpp8
-rw-r--r--search/search_query.cpp17
10 files changed, 91 insertions, 114 deletions
diff --git a/coding/coding_tests/trie_test.cpp b/coding/coding_tests/trie_test.cpp
index 13352ab120..8be73eebae 100644
--- a/coding/coding_tests/trie_test.cpp
+++ b/coding/coding_tests/trie_test.cpp
@@ -88,8 +88,7 @@ struct KeyValuePairBackInserter
{
vector<KeyValuePair> m_v;
template <class StringT>
- void operator() (StringT const & s,
- trie::reader::FixedSizeValueReader<4>::ValueType const & rawValue)
+ void operator()(StringT const & s, trie::FixedSizeValueReader<4>::ValueType const & rawValue)
{
uint32_t value;
memcpy(&value, &rawValue, 4);
@@ -175,7 +174,7 @@ UNIT_TEST(TrieBuilder_WriteNode_Smoke)
};
CharValueList valueList("123");
- trie::builder::WriteNode(sink, 0, valueList, &children[0], &children[0] + ARRAY_SIZE(children));
+ trie::WriteNode(sink, 0, valueList, &children[0], &children[0] + ARRAY_SIZE(children));
uint8_t const expected [] =
{
BOOST_BINARY(11000101), // Header: [0b11] [0b000101]
@@ -244,20 +243,17 @@ UNIT_TEST(TrieBuilder_Build)
vector<uint8_t> serial;
PushBackByteSink<vector<uint8_t> > sink(serial);
- trie::Build<PushBackByteSink<vector<uint8_t> >, typename vector<KeyValuePair>::iterator,
- trie::builder::MaxValueEdgeBuilder<MaxValueCalc>, Uint32ValueList>(
- sink, v.begin(), v.end(), trie::builder::MaxValueEdgeBuilder<MaxValueCalc>());
+ trie::Build<PushBackByteSink<vector<uint8_t>>, typename vector<KeyValuePair>::iterator,
+ trie::MaxValueEdgeBuilder<MaxValueCalc>, Uint32ValueList>(
+ sink, v.begin(), v.end(), trie::MaxValueEdgeBuilder<MaxValueCalc>());
reverse(serial.begin(), serial.end());
// LOG(LINFO, (serial.size(), vs));
MemReader memReader = MemReader(&serial[0], serial.size());
- typedef trie::Iterator<
- trie::reader::FixedSizeValueReader<4>::ValueType,
- trie::reader::FixedSizeValueReader<1>::ValueType
- > IteratorType;
- unique_ptr<IteratorType> const root(trie::reader::ReadTrie(memReader,
- trie::reader::FixedSizeValueReader<4>(),
- trie::reader::FixedSizeValueReader<1>()));
+ typedef trie::Iterator<trie::FixedSizeValueReader<4>::ValueType,
+ trie::FixedSizeValueReader<1>::ValueType> IteratorType;
+ unique_ptr<IteratorType> const root(trie::ReadTrie(memReader, trie::FixedSizeValueReader<4>(),
+ trie::FixedSizeValueReader<1>()));
vector<KeyValuePair> res;
KeyValuePairBackInserter f;
trie::ForEachRef(*root, f, vector<trie::TrieChar>());
diff --git a/coding/trie.hpp b/coding/trie.hpp
index 305d4d8278..0dbb02f679 100644
--- a/coding/trie.hpp
+++ b/coding/trie.hpp
@@ -1,9 +1,8 @@
#pragma once
-#include "base/base.hpp"
#include "base/assert.hpp"
+#include "base/base.hpp"
#include "base/buffer_vector.hpp"
-//#include "../base/object_tracker.hpp"
#include "std/unique_ptr.hpp"
@@ -40,9 +39,6 @@ public:
virtual Iterator<ValueT, EdgeValueT> * GoToEdge(size_t i) const = 0;
};
-namespace reader
-{
-
struct EmptyValueReader
{
typedef unsigned char ValueType;
@@ -69,8 +65,6 @@ struct FixedSizeValueReader
}
};
-} // namespace trie::reader
-
template <typename ValueT, typename EdgeValueT, typename F, typename StringT>
void ForEachRef(Iterator<ValueT, EdgeValueT> const & iter, F & f, StringT const & s)
{
diff --git a/coding/trie_builder.hpp b/coding/trie_builder.hpp
index e04faa8756..b23e8fbcc2 100644
--- a/coding/trie_builder.hpp
+++ b/coding/trie_builder.hpp
@@ -38,10 +38,10 @@
// [edge value]
// [child size]: if the child is not the last one when reading
+
namespace trie
{
-namespace builder
-{
+
template <typename SinkT, typename ChildIterT, typename ValueListT>
void WriteNode(SinkT & sink, TrieChar baseChar, ValueListT const & valueList,
ChildIterT const begChild, ChildIterT const endChild, bool isRoot = false)
@@ -227,13 +227,11 @@ struct MaxValueEdgeBuilder
}
};
-} // namespace builder
-
template <typename SinkT, typename IterT, typename EdgeBuilderT, typename ValueListT>
void Build(SinkT & sink, IterT const beg, IterT const end, EdgeBuilderT const & edgeBuilder)
{
typedef buffer_vector<TrieChar, 32> TrieString;
- typedef builder::NodeInfo<EdgeBuilderT, ValueListT> NodeInfoT;
+ typedef NodeInfo<EdgeBuilderT, ValueListT> NodeInfoT;
buffer_vector<NodeInfoT, 32> nodes;
nodes.push_back(NodeInfoT(sink.Pos(), DEFAULT_CHAR, edgeBuilder));
@@ -256,7 +254,7 @@ void Build(SinkT & sink, IterT const beg, IterT const end, EdgeBuilderT const &
while (nCommon < min(key.size(), prevKey.size()) && prevKey[nCommon] == key[nCommon])
++nCommon;
- builder::PopNodes(sink, nodes, nodes.size() - nCommon - 1); // Root is also a common node.
+ PopNodes(sink, nodes, nodes.size() - nCommon - 1); // Root is also a common node.
uint64_t const pos = sink.Pos();
for (size_t i = nCommon; i < key.size(); ++i)
@@ -270,7 +268,7 @@ void Build(SinkT & sink, IterT const beg, IterT const end, EdgeBuilderT const &
}
// Pop all the nodes from the stack.
- builder::PopNodes(sink, nodes, nodes.size() - 1);
+ PopNodes(sink, nodes, nodes.size() - 1);
// Write the root.
WriteNodeReverse(sink, DEFAULT_CHAR /* baseChar */, nodes.back(), true /* isRoot */);
diff --git a/coding/trie_reader.hpp b/coding/trie_reader.hpp
index 3d988c7118..ac45e001b2 100644
--- a/coding/trie_reader.hpp
+++ b/coding/trie_reader.hpp
@@ -8,9 +8,6 @@
namespace trie
{
-namespace reader
-{
-
template <class ValueReaderT, typename EdgeValueT>
class LeafIterator0 : public Iterator<typename ValueReaderT::ValueType, EdgeValueT>
{
@@ -211,5 +208,4 @@ ReadTrie(ReaderT const & reader,
reader, valueReader, edgeValueReader, DEFAULT_CHAR);
}
-} // namespace trie::reader
} // namespace trie
diff --git a/generator/dumper.cpp b/generator/dumper.cpp
index 73c14cfcbc..90554d24dc 100644
--- a/generator/dumper.cpp
+++ b/generator/dumper.cpp
@@ -164,7 +164,7 @@ namespace feature
SearchTokensCollector() : m_currentS(), m_currentCount(0) {}
- void operator() (strings::UniString const & s, search::trie::ValueReader::ValueType const &)
+ void operator()(strings::UniString const & s, trie::ValueReader::ValueType const &)
{
if (m_currentS == s)
{
@@ -198,15 +198,14 @@ namespace feature
{
FilesContainerR container(new FileReader(fPath));
feature::DataHeader header(container);
- serial::CodingParams cp(search::GetCPForTrie(header.GetDefCodingParams()));
+ serial::CodingParams cp(trie::GetCodingParams(header.GetDefCodingParams()));
- unique_ptr<search::TrieIterator> const pTrieRoot(
- ::trie::reader::ReadTrie(container.GetReader(SEARCH_INDEX_FILE_TAG),
- search::trie::ValueReader(cp),
- search::trie::EdgeValueReader()));
+ unique_ptr<trie::DefaultIterator> const pTrieRoot(
+ trie::ReadTrie(container.GetReader(SEARCH_INDEX_FILE_TAG), trie::ValueReader(cp),
+ trie::EdgeValueReader()));
SearchTokensCollector f;
- ::trie::ForEachRef(*pTrieRoot, f, strings::UniString());
+ trie::ForEachRef(*pTrieRoot, f, strings::UniString());
f.Finish();
while (!f.tokens.empty())
diff --git a/indexer/search_index_builder.cpp b/indexer/search_index_builder.cpp
index 67dc33cc95..2f20e25647 100644
--- a/indexer/search_index_builder.cpp
+++ b/indexer/search_index_builder.cpp
@@ -1,15 +1,15 @@
-#include "indexer/search_index_builder.hpp"
+#include "indexer/categories_holder.hpp"
+#include "indexer/classificator.hpp"
+#include "indexer/feature_algo.hpp"
#include "indexer/feature_utils.hpp"
+#include "indexer/feature_visibility.hpp"
#include "indexer/features_vector.hpp"
#include "indexer/search_delimiters.hpp"
-#include "indexer/search_trie.hpp"
+#include "indexer/search_index_builder.hpp"
#include "indexer/search_string_utils.hpp"
+#include "indexer/search_trie.hpp"
#include "indexer/string_file.hpp"
#include "indexer/string_file_values.hpp"
-#include "indexer/classificator.hpp"
-#include "indexer/feature_visibility.hpp"
-#include "indexer/categories_holder.hpp"
-#include "indexer/feature_algo.hpp"
#include "../search/search_common.hpp" // for MAX_TOKENS constant
@@ -17,16 +17,16 @@
#include "platform/platform.hpp"
+#include "coding/reader_writer_ops.hpp"
#include "coding/trie_builder.hpp"
#include "coding/writer.hpp"
-#include "coding/reader_writer_ops.hpp"
#include "base/assert.hpp"
-#include "base/timer.hpp"
-#include "base/scope_guard.hpp"
-#include "base/string_utils.hpp"
#include "base/logging.hpp"
+#include "base/scope_guard.hpp"
#include "base/stl_add.hpp"
+#include "base/string_utils.hpp"
+#include "base/timer.hpp"
#include "std/algorithm.hpp"
#include "std/fstream.hpp"
@@ -153,7 +153,7 @@ struct ValueBuilder;
template <>
struct ValueBuilder<SerializedFeatureInfoValue>
{
- typedef search::trie::ValueReader SaverT;
+ typedef trie::ValueReader SaverT;
SaverT m_valueSaver;
ValueBuilder(serial::CodingParams const & cp) : m_valueSaver(cp) {}
@@ -193,7 +193,7 @@ class FeatureInserter
CategoriesHolder const & m_categories;
typedef typename StringsFileT::ValueT ValueT;
- typedef search::trie::ValueReader SaverT;
+ typedef trie::ValueReader SaverT;
pair<int, int> m_scales;
@@ -385,7 +385,7 @@ void BuildSearchIndex(FilesContainerR const & cont, CategoriesHolder const & cat
FeaturesVectorTest features(cont);
feature::DataHeader const & header = features.GetHeader();
- serial::CodingParams cp(search::GetCPForTrie(header.GetDefCodingParams()));
+ serial::CodingParams cp(trie::GetCodingParams(header.GetDefCodingParams()));
ValueBuilder<SerializedFeatureInfoValue> valueBuilder(cp);
unique_ptr<SynonymsHolder> synonyms;
@@ -401,8 +401,8 @@ void BuildSearchIndex(FilesContainerR const & cont, CategoriesHolder const & cat
names.OpenForRead();
trie::Build<Writer, typename StringsFile<SerializedFeatureInfoValue>::IteratorT,
- trie::builder::EmptyEdgeBuilder, ValueList<SerializedFeatureInfoValue>>(
- writer, names.Begin(), names.End(), trie::builder::EmptyEdgeBuilder());
+ trie::EmptyEdgeBuilder, ValueList<SerializedFeatureInfoValue>>(
+ writer, names.Begin(), names.End(), trie::EmptyEdgeBuilder());
// at this point all readers of StringsFile should be dead
}
@@ -518,9 +518,9 @@ void BuildCompressedSearchIndex(FilesContainerR & container, Writer & indexWrite
LOG(LINFO, ("End sorting strings:", timer.ElapsedSeconds()));
stringsFile.OpenForRead();
- trie::Build<Writer, typename StringsFile<FeatureIndexValue>::IteratorT,
- trie::builder::EmptyEdgeBuilder, ValueList<FeatureIndexValue>>(
- indexWriter, stringsFile.Begin(), stringsFile.End(), trie::builder::EmptyEdgeBuilder());
+ trie::Build<Writer, typename StringsFile<FeatureIndexValue>::IteratorT, trie::EmptyEdgeBuilder,
+ ValueList<FeatureIndexValue>>(indexWriter, stringsFile.Begin(), stringsFile.End(),
+ trie::EmptyEdgeBuilder());
LOG(LINFO, ("End building compressed search index, elapsed seconds:", timer.ElapsedSeconds()));
}
diff --git a/indexer/search_trie.hpp b/indexer/search_trie.hpp
index 1840d592c2..27001b34dd 100644
--- a/indexer/search_trie.hpp
+++ b/indexer/search_trie.hpp
@@ -9,6 +9,10 @@
namespace search
{
+static const uint8_t CATEGORIES_LANG = 128;
+static const uint8_t POINT_CODING_BITS = 20;
+} // namespace search
+
namespace trie
{
@@ -42,19 +46,15 @@ public:
}
};
-typedef ::trie::reader::EmptyValueReader EdgeValueReader;
+typedef EmptyValueReader EdgeValueReader;
-} // namespace search::trie
+typedef trie::Iterator<trie::ValueReader::ValueType, trie::EdgeValueReader::ValueType>
+ DefaultIterator;
- typedef ::trie::Iterator<
- trie::ValueReader::ValueType,
- trie::EdgeValueReader::ValueType> TrieIterator;
-
- static const uint8_t CATEGORIES_LANG = 128;
- static const uint8_t POINT_CODING_BITS = 20;
+inline serial::CodingParams GetCodingParams(serial::CodingParams const & orig)
+{
+ return serial::CodingParams(search::POINT_CODING_BITS,
+ PointU2PointD(orig.GetBasePoint(), orig.GetCoordBits()));
+}
- inline serial::CodingParams GetCPForTrie(serial::CodingParams const & orig)
- {
- return serial::CodingParams(POINT_CODING_BITS, PointU2PointD(orig.GetBasePoint(), orig.GetCoordBits()));
- }
-} // namespace search
+} // namespace trie
diff --git a/search/feature_offset_match.hpp b/search/feature_offset_match.hpp
index 8e25248250..c8b06203cd 100644
--- a/search/feature_offset_match.hpp
+++ b/search/feature_offset_match.hpp
@@ -5,19 +5,17 @@
#include "indexer/search_trie.hpp"
-#include "base/string_utils.hpp"
-#include "base/stl_add.hpp"
-#include "base/scope_guard.hpp"
#include "base/mutex.hpp"
+#include "base/scope_guard.hpp"
+#include "base/stl_add.hpp"
+#include "base/string_utils.hpp"
#include "std/algorithm.hpp"
+#include "std/target_os.hpp"
#include "std/unique_ptr.hpp"
#include "std/unordered_set.hpp"
#include "std/utility.hpp"
#include "std/vector.hpp"
-#include "std/target_os.hpp"
-
-//#include "../sparsehash/dense_hash_set.hpp"
namespace search
@@ -34,15 +32,15 @@ size_t CalcEqualLength(SrcIterT b, SrcIterT e, CompIterT bC, CompIterT eC)
return count;
}
-inline TrieIterator * MoveTrieIteratorToString(TrieIterator const & trieRoot,
- strings::UniString const & queryS,
- size_t & symbolsMatched,
- bool & bFullEdgeMatched)
+inline trie::DefaultIterator * MoveTrieIteratorToString(trie::DefaultIterator const & trieRoot,
+ strings::UniString const & queryS,
+ size_t & symbolsMatched,
+ bool & bFullEdgeMatched)
{
symbolsMatched = 0;
bFullEdgeMatched = false;
- unique_ptr<search::TrieIterator> pIter(trieRoot.Clone());
+ unique_ptr<trie::DefaultIterator> pIter(trieRoot.Clone());
size_t const szQuery = queryS.size();
@@ -100,19 +98,16 @@ namespace
}
template <typename F>
-void FullMatchInTrie(TrieIterator const & trieRoot,
- strings::UniChar const * rootPrefix,
- size_t rootPrefixSize,
- strings::UniString s,
- F & f)
+void FullMatchInTrie(trie::DefaultIterator const & trieRoot, strings::UniChar const * rootPrefix,
+ size_t rootPrefixSize, strings::UniString s, F & f)
{
if (!CheckMatchString(rootPrefix, rootPrefixSize, s))
return;
size_t symbolsMatched = 0;
bool bFullEdgeMatched;
- unique_ptr<search::TrieIterator> const pIter(
- MoveTrieIteratorToString(trieRoot, s, symbolsMatched, bFullEdgeMatched));
+ unique_ptr<trie::DefaultIterator> const pIter(
+ MoveTrieIteratorToString(trieRoot, s, symbolsMatched, bFullEdgeMatched));
if (!pIter || (!s.empty() && !bFullEdgeMatched) || symbolsMatched != s.size())
return;
@@ -129,21 +124,18 @@ void FullMatchInTrie(TrieIterator const & trieRoot,
}
template <typename F>
-void PrefixMatchInTrie(TrieIterator const & trieRoot,
- strings::UniChar const * rootPrefix,
- size_t rootPrefixSize,
- strings::UniString s,
- F & f)
+void PrefixMatchInTrie(trie::DefaultIterator const & trieRoot, strings::UniChar const * rootPrefix,
+ size_t rootPrefixSize, strings::UniString s, F & f)
{
if (!CheckMatchString(rootPrefix, rootPrefixSize, s))
return;
- typedef vector<search::TrieIterator *> QueueT;
+ typedef vector<trie::DefaultIterator *> QueueT;
QueueT trieQueue;
{
size_t symbolsMatched = 0;
bool bFullEdgeMatched;
- search::TrieIterator * pRootIter =
+ trie::DefaultIterator * pRootIter =
MoveTrieIteratorToString(trieRoot, s, symbolsMatched, bFullEdgeMatched);
UNUSED_VALUE(symbolsMatched);
@@ -162,7 +154,7 @@ void PrefixMatchInTrie(TrieIterator const & trieRoot,
{
// Next 2 lines don't throw any exceptions while moving
// ownership from container to smart pointer.
- unique_ptr<search::TrieIterator> const pIter(trieQueue.back());
+ unique_ptr<trie::DefaultIterator> const pIter(trieQueue.back());
trieQueue.pop_back();
for (size_t i = 0; i < pIter->m_value.size(); ++i)
@@ -237,11 +229,12 @@ public:
struct TrieRootPrefix
{
- TrieIterator const & m_root;
+ trie::DefaultIterator const & m_root;
strings::UniChar const * m_prefix;
size_t m_prefixSize;
- TrieRootPrefix(TrieIterator const & root, TrieIterator::Edge::EdgeStrT const & edge)
+ TrieRootPrefix(trie::DefaultIterator const & root,
+ trie::DefaultIterator::Edge::EdgeStrT const & edge)
: m_root(root)
{
if (edge.size() == 1)
@@ -350,7 +343,7 @@ void MatchTokensAndPrefixInTrie(vector<SearchQueryParams::TSynonymsVector> const
// token from a search query.
// *NOTE* query prefix will be treated as a complete token in the function.
template <typename THolder>
-bool MatchCategoriesInTrie(SearchQueryParams const & params, TrieIterator const & trieRoot,
+bool MatchCategoriesInTrie(SearchQueryParams const & params, trie::DefaultIterator const & trieRoot,
THolder && holder)
{
ASSERT_LESS(trieRoot.m_edge.size(), numeric_limits<uint32_t>::max(), ());
@@ -361,7 +354,7 @@ bool MatchCategoriesInTrie(SearchQueryParams const & params, TrieIterator const
ASSERT_GREATER_OR_EQUAL(edge.size(), 1, ());
if (edge[0] == search::CATEGORIES_LANG)
{
- unique_ptr<TrieIterator> const catRoot(trieRoot.GoToEdge(langIx));
+ unique_ptr<trie::DefaultIterator> const catRoot(trieRoot.GoToEdge(langIx));
MatchTokensInTrie(params.m_tokens, TrieRootPrefix(*catRoot, edge), holder);
// Last token's prefix is used as a complete token here, to
@@ -379,7 +372,7 @@ bool MatchCategoriesInTrie(SearchQueryParams const & params, TrieIterator const
// Calls toDo with trie root prefix and language code on each language
// allowed by params.
template <typename ToDo>
-void ForEachLangPrefix(SearchQueryParams const & params, TrieIterator const & trieRoot,
+void ForEachLangPrefix(SearchQueryParams const & params, trie::DefaultIterator const & trieRoot,
ToDo && toDo)
{
ASSERT_LESS(trieRoot.m_edge.size(), numeric_limits<uint32_t>::max(), ());
@@ -391,7 +384,7 @@ void ForEachLangPrefix(SearchQueryParams const & params, TrieIterator const & tr
int8_t const lang = static_cast<int8_t>(edge[0]);
if (edge[0] < search::CATEGORIES_LANG && params.IsLangExist(lang))
{
- unique_ptr<TrieIterator> const langRoot(trieRoot.GoToEdge(langIx));
+ unique_ptr<trie::DefaultIterator> const langRoot(trieRoot.GoToEdge(langIx));
TrieRootPrefix langPrefix(*langRoot, edge);
toDo(langPrefix, lang);
}
@@ -401,7 +394,7 @@ void ForEachLangPrefix(SearchQueryParams const & params, TrieIterator const & tr
// Calls toDo for each feature whose description contains *ALL* tokens from a search query.
// Each feature will be passed to toDo only once.
template <typename TFilter, typename ToDo>
-void MatchFeaturesInTrie(SearchQueryParams const & params, TrieIterator const & trieRoot,
+void MatchFeaturesInTrie(SearchQueryParams const & params, trie::DefaultIterator const & trieRoot,
TFilter const & filter, ToDo && toDo)
{
TrieValuesHolder<TFilter> categoriesHolder(filter);
diff --git a/search/retrieval.cpp b/search/retrieval.cpp
index ba8dc33769..fa0941c92b 100644
--- a/search/retrieval.cpp
+++ b/search/retrieval.cpp
@@ -26,11 +26,11 @@ void RetrieveAddressFeatures(MwmSet::MwmHandle const & handle, SearchQueryParams
{
auto * value = handle.GetValue<MwmValue>();
ASSERT(value, ());
- serial::CodingParams codingParams(GetCPForTrie(value->GetHeader().GetDefCodingParams()));
+ serial::CodingParams codingParams(trie::GetCodingParams(value->GetHeader().GetDefCodingParams()));
ModelReaderPtr searchReader = value->m_cont.GetReader(SEARCH_INDEX_FILE_TAG);
- unique_ptr<TrieIterator> const trieRoot(
- ::trie::reader::ReadTrie(SubReaderWrapper<Reader>(searchReader.GetPtr()),
- trie::ValueReader(codingParams), trie::EdgeValueReader()));
+ unique_ptr<trie::DefaultIterator> const trieRoot(
+ trie::ReadTrie(SubReaderWrapper<Reader>(searchReader.GetPtr()),
+ trie::ValueReader(codingParams), trie::EdgeValueReader()));
featureIds.clear();
auto collector = [&](trie::ValueReader::ValueType const & value)
diff --git a/search/search_query.cpp b/search/search_query.cpp
index 5579035eca..d3df2d9dc2 100644
--- a/search/search_query.cpp
+++ b/search/search_query.cpp
@@ -1739,12 +1739,13 @@ void Query::SearchLocality(MwmValue * pMwm, impl::Locality & res1, impl::Region
SearchQueryParams params;
InitParams(true /* localitySearch */, params);
- serial::CodingParams cp(GetCPForTrie(pMwm->GetHeader().GetDefCodingParams()));
+ serial::CodingParams cp(trie::GetCodingParams(pMwm->GetHeader().GetDefCodingParams()));
ModelReaderPtr searchReader = pMwm->m_cont.GetReader(SEARCH_INDEX_FILE_TAG);
- unique_ptr<TrieIterator> const trieRoot(
- ::trie::reader::ReadTrie(SubReaderWrapper<Reader>(searchReader.GetPtr()),
- trie::ValueReader(cp), trie::EdgeValueReader()));
+
+ unique_ptr<trie::DefaultIterator> const trieRoot(
+ trie::ReadTrie(SubReaderWrapper<Reader>(searchReader.GetPtr()), trie::ValueReader(cp),
+ trie::EdgeValueReader()));
ForEachLangPrefix(params, *trieRoot, [&](TrieRootPrefix & langRoot, int8_t lang)
{
@@ -1851,11 +1852,11 @@ void Query::SearchInMWM(Index::MwmHandle const & mwmHandle, SearchQueryParams co
if (isWorld && !m_worldSearch)
return;
- serial::CodingParams cp(GetCPForTrie(header.GetDefCodingParams()));
+ serial::CodingParams cp(trie::GetCodingParams(header.GetDefCodingParams()));
ModelReaderPtr searchReader = value->m_cont.GetReader(SEARCH_INDEX_FILE_TAG);
- unique_ptr<TrieIterator> const trieRoot(
- ::trie::reader::ReadTrie(SubReaderWrapper<Reader>(searchReader.GetPtr()),
- trie::ValueReader(cp), trie::EdgeValueReader()));
+ unique_ptr<trie::DefaultIterator> const trieRoot(
+ trie::ReadTrie(SubReaderWrapper<Reader>(searchReader.GetPtr()), trie::ValueReader(cp),
+ trie::EdgeValueReader()));
MwmSet::MwmId const mwmId = mwmHandle.GetId();
FeaturesFilter filter(
(viewportId == DEFAULT_V || isWorld) ? 0 : &m_offsetsInViewport[viewportId][mwmId], *this);