From f87031f54b1e60a7310efb5c2608fad6b62c27c8 Mon Sep 17 00:00:00 2001 From: vng Date: Fri, 27 Jan 2012 13:34:49 +0300 Subject: [PATCH] Factor out #include "classificator.hpp" from "feature_data.hpp". --- generator/feature_generator.cpp | 1 + generator/generator_tool/generator_tool.cpp | 1 + indexer/feature_data.cpp | 11 +++++++++++ indexer/feature_data.hpp | 13 ++++++------- indexer/feature_impl.hpp | 4 +++- indexer/old/feature_loader_101.cpp | 1 + map/framework.cpp | 1 + search/intermediate_result.cpp | 1 + 8 files changed, 25 insertions(+), 8 deletions(-) diff --git a/generator/feature_generator.cpp b/generator/feature_generator.cpp index 30d1107867..f02924bfaa 100644 --- a/generator/feature_generator.cpp +++ b/generator/feature_generator.cpp @@ -12,6 +12,7 @@ #include "../indexer/data_header.hpp" #include "../indexer/mercator.hpp" #include "../indexer/cell_id.hpp" +#include "../indexer/classificator.hpp" #include "../coding/varint.hpp" #include "../coding/mmap_reader.hpp" diff --git a/generator/generator_tool/generator_tool.cpp b/generator/generator_tool/generator_tool.cpp index e5fce1318b..53d7a2e376 100644 --- a/generator/generator_tool/generator_tool.cpp +++ b/generator/generator_tool/generator_tool.cpp @@ -11,6 +11,7 @@ #include "../../indexer/drawing_rules.hpp" #include "../../indexer/classificator_loader.hpp" +#include "../../indexer/classificator.hpp" #include "../../indexer/data_header.hpp" #include "../../indexer/features_vector.hpp" #include "../../indexer/index_builder.hpp" diff --git a/indexer/feature_data.cpp b/indexer/feature_data.cpp index 10eaf2e1d5..ce99bed34a 100644 --- a/indexer/feature_data.cpp +++ b/indexer/feature_data.cpp @@ -1,4 +1,5 @@ #include "feature_data.hpp" +#include "classificator.hpp" #include "../std/algorithm.hpp" @@ -144,6 +145,16 @@ uint8_t FeatureParams::GetHeader() const return header; } +uint32_t FeatureParams::GetIndexForType(uint32_t t) +{ + return classif().GetIndexForType(t); +} + +uint32_t FeatureParams::GetTypeForIndex(uint32_t i) +{ + return classif().GetTypeForIndex(i); +} + string DebugPrint(FeatureParams const & p) { ostringstream out; diff --git a/indexer/feature_data.hpp b/indexer/feature_data.hpp index a892d027c8..1b57d9b117 100644 --- a/indexer/feature_data.hpp +++ b/indexer/feature_data.hpp @@ -1,5 +1,4 @@ #pragma once -#include "classificator.hpp" #include "../coding/multilang_utf8_string.hpp" #include "../coding/value_opt_string.hpp" @@ -182,10 +181,8 @@ public: WriteToSink(sink, header); - Classificator & c = classif(); - for (size_t i = 0; i < m_Types.size(); ++i) - WriteVarUint(sink, c.GetIndexForType(m_Types[i])); + WriteVarUint(sink, GetIndexForType(m_Types[i])); BaseT::Write(sink, header, GetGeomType()); } @@ -201,14 +198,16 @@ public: if (type & HEADER_GEOM_AREA) SetGeomType(GEOM_AREA); if (type == HEADER_GEOM_POINT) SetGeomType(GEOM_POINT); - Classificator & c = classif(); - size_t const count = (header & HEADER_TYPE_MASK) + 1; for (size_t i = 0; i < count; ++i) - m_Types.push_back(c.GetTypeForIndex(ReadVarUint(src))); + m_Types.push_back(GetTypeForIndex(ReadVarUint(src))); BaseT::Read(src, header, GetGeomType()); } + +private: + static uint32_t GetIndexForType(uint32_t t); + static uint32_t GetTypeForIndex(uint32_t i); }; string DebugPrint(FeatureParams const & p); diff --git a/indexer/feature_impl.hpp b/indexer/feature_impl.hpp index 89fb0f23d3..c8fe10defa 100644 --- a/indexer/feature_impl.hpp +++ b/indexer/feature_impl.hpp @@ -1,6 +1,8 @@ #pragma once -#include "../geometry/point2d.hpp" +#include "../base/macros.hpp" + +#include "../std/string.hpp" namespace feature diff --git a/indexer/old/feature_loader_101.cpp b/indexer/old/feature_loader_101.cpp index a9669b46d5..7353506939 100644 --- a/indexer/old/feature_loader_101.cpp +++ b/indexer/old/feature_loader_101.cpp @@ -2,6 +2,7 @@ #include "feature_loader_101.hpp" +#include "../classificator.hpp" #include "../feature.hpp" #include "../scales.hpp" #include "../geometry_serialization.hpp" diff --git a/map/framework.cpp b/map/framework.cpp index f2474d498c..1f11f6faf4 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -17,6 +17,7 @@ #include "../indexer/categories_holder.hpp" #include "../indexer/feature.hpp" #include "../indexer/scales.hpp" +#include "../indexer/classificator.hpp" #include "../base/math.hpp" #include "../base/string_utils.hpp" diff --git a/search/intermediate_result.cpp b/search/intermediate_result.cpp index 9cf4bbecd6..84de0c0f30 100644 --- a/search/intermediate_result.cpp +++ b/search/intermediate_result.cpp @@ -2,6 +2,7 @@ #include "../storage/country_info.hpp" +#include "../indexer/classificator.hpp" #include "../indexer/feature.hpp" #include "../indexer/feature_utils.hpp" #include "../indexer/mercator.hpp"