Files
comaps/libs/indexer/data_factory.hpp
Alexander Borsuk 76ffc99abd New cpp folder structure
Signed-off-by: Alexander Borsuk <me@alex.bio>
2025-08-14 20:52:04 +07:00

32 lines
915 B
C++

#pragma once
#include "indexer/data_header.hpp"
#include "indexer/feature_meta.hpp"
#include "indexer/interval_index.hpp"
#include "platform/mwm_version.hpp"
#include <memory>
class FilesContainerR;
class IndexFactory
{
version::MwmVersion m_version;
feature::DataHeader m_header;
feature::RegionData m_regionData;
public:
void Load(FilesContainerR const & cont);
inline version::MwmVersion const & GetMwmVersion() const { return m_version; }
inline feature::DataHeader const & GetHeader() const { return m_header; }
inline feature::RegionData const & GetRegionData() const { return m_regionData; }
inline void MoveRegionData(feature::RegionData & data) { data = std::move(m_regionData); }
template <typename Reader>
std::unique_ptr<IntervalIndex<Reader, uint32_t>> CreateIndex(Reader const & reader) const
{
return std::make_unique<IntervalIndex<Reader, uint32_t>>(reader);
}
};