Files
comaps/generator/processor_booking.hpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

47 lines
1.0 KiB
C++

#pragma once
#include "generator/feature_builder.hpp"
#include "generator/feature_generator.hpp"
#include "generator/processor_interface.hpp"
#include "indexer/feature_data.hpp"
#include "base/assert.hpp"
#include "base/geo_object_id.hpp"
#include <map>
#include <memory>
namespace generator
{
template <typename Dataset>
class ProcessorBooking : public FeatureProcessorInterface
{
public:
ProcessorBooking(Dataset const & dataset,
std::map<base::GeoObjectId, feature::FeatureBuilder> & features)
: m_dataset(dataset), m_features(features)
{
}
// FeatureProcessorInterface overrides:
std::shared_ptr<FeatureProcessorInterface> Clone() const override
{
CHECK(false, ());
return {};
}
void Process(feature::FeatureBuilder & fb) override
{
if (m_dataset.NecessaryMatchingConditionHolds(fb))
m_features.emplace(fb.GetMostGenericOsmId(), fb);
}
void Finish() override {}
private:
Dataset const & m_dataset;
std::map<base::GeoObjectId, feature::FeatureBuilder> & m_features;
};
} // namespace generator