Files
comaps/generator/processor_booking.hpp
Konstantin Pastbin bfffa1fff4 Format all C++ and Java code via clang-format
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-08-17 14:32:37 +07:00

46 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