diff options
author | Yuri Gorshenin <y@maps.me> | 2018-01-19 14:11:51 +0300 |
---|---|---|
committer | Tatiana Yan <tatiana.kondakova@gmail.com> | 2018-01-19 16:10:31 +0300 |
commit | a0ff36bf4869eaad9872c77c7d043649a1a87578 (patch) | |
tree | f010ec4fa1aa094d9f9b6ef72652daaf66d086fa /indexer/data_factory.hpp | |
parent | 945a878c54377d108075ae09376993227b3c315b (diff) |
[indexer] Add ability to mmap scales index.
Diffstat (limited to 'indexer/data_factory.hpp')
-rw-r--r-- | indexer/data_factory.hpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/indexer/data_factory.hpp b/indexer/data_factory.hpp index 251b1e2323..13ea4e1077 100644 --- a/indexer/data_factory.hpp +++ b/indexer/data_factory.hpp @@ -1,10 +1,11 @@ #pragma once #include "indexer/data_header.hpp" #include "indexer/feature_meta.hpp" +#include "indexer/interval_index.hpp" +#include "indexer/old/interval_index_101.hpp" #include "platform/mwm_version.hpp" - class FilesContainerR; class IntervalIndexIFace; @@ -21,5 +22,11 @@ public: inline feature::DataHeader const & GetHeader() const { return m_header; } inline feature::RegionData const & GetRegionData() const { return m_regionData; } - IntervalIndexIFace * CreateIndex(ModelReaderPtr reader) const; + template <typename Reader> + IntervalIndexIFace * CreateIndex(Reader const & reader) const + { + if (m_version.GetFormat() == version::Format::v1) + return new old_101::IntervalIndex<uint32_t, Reader>(reader); + return new IntervalIndex<Reader>(reader); + } }; |