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:
authorvng <viktor.govako@gmail.com>2015-07-16 14:31:31 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:57:12 +0300
commit8fdd97d52366659ec16cf4d4edf3ab98f96b0874 (patch)
tree1381c0061d93b5ee60b658df1659f3fa265312d0 /indexer/search_index_builder.cpp
parent0dc6675aa5d9cc8e19f1ec02a927eae826d97944 (diff)
Minor refactoring to store feature’s offsets table once for every cache value in mwm set.
Diffstat (limited to 'indexer/search_index_builder.cpp')
-rw-r--r--indexer/search_index_builder.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/indexer/search_index_builder.cpp b/indexer/search_index_builder.cpp
index 50afaf92e8..b4d2b5a110 100644
--- a/indexer/search_index_builder.cpp
+++ b/indexer/search_index_builder.cpp
@@ -365,9 +365,8 @@ void AddFeatureNameIndexPairs(FilesContainerR const & container,
CategoriesHolder & categoriesHolder,
StringsFile<FeatureIndexValue> & stringsFile)
{
- feature::DataHeader header;
- header.Load(container.GetReader(HEADER_FILE_TAG));
- FeaturesVector features(container, header);
+ FeaturesVectorTest featuresV(container);
+ feature::DataHeader const & header = featuresV.GetHeader();
ValueBuilder<FeatureIndexValue> valueBuilder;
@@ -375,19 +374,16 @@ void AddFeatureNameIndexPairs(FilesContainerR const & container,
if (header.GetType() == feature::DataHeader::world)
synonyms.reset(new SynonymsHolder(GetPlatform().WritablePathForFile(SYNONYMS_FILE)));
- FeatureInserter<StringsFile<FeatureIndexValue>> inserter(
- synonyms.get(), stringsFile, categoriesHolder, header.GetScaleRange(), valueBuilder);
-
- features.ForEach(inserter);
+ featuresV.GetVector().ForEach(FeatureInserter<StringsFile<FeatureIndexValue>>(
+ synonyms.get(), stringsFile, categoriesHolder, header.GetScaleRange(), valueBuilder));
}
void BuildSearchIndex(FilesContainerR const & cont, CategoriesHolder const & catHolder,
Writer & writer, string const & tmpFilePath)
{
{
- feature::DataHeader header;
- header.Load(cont.GetReader(HEADER_FILE_TAG));
- FeaturesVector featuresV(cont, header);
+ FeaturesVectorTest featuresV(cont);
+ feature::DataHeader const & header = featuresV.GetHeader();
serial::CodingParams cp(search::GetCPForTrie(header.GetDefCodingParams()));
ValueBuilder<SerializedFeatureInfoValue> valueBuilder(cp);
@@ -398,7 +394,7 @@ void BuildSearchIndex(FilesContainerR const & cont, CategoriesHolder const & cat
StringsFile<SerializedFeatureInfoValue> names(tmpFilePath);
- featuresV.ForEach(FeatureInserter<StringsFile<SerializedFeatureInfoValue>>(
+ featuresV.GetVector().ForEach(FeatureInserter<StringsFile<SerializedFeatureInfoValue>>(
synonyms.get(), names, catHolder, header.GetScaleRange(), valueBuilder));
names.EndAdding();