Files
comaps/generator/processor_country.cpp
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

36 lines
1.0 KiB
C++

#include "generator/processor_country.hpp"
#include "generator/feature_builder.hpp"
namespace generator
{
ProcessorCountry::ProcessorCountry(AffiliationInterfacePtr affiliations, std::shared_ptr<FeatureProcessorQueue> queue)
: m_affiliations(std::move(affiliations))
, m_queue(std::move(queue))
{
ASSERT(m_affiliations && m_queue, ());
m_processingChain = std::make_shared<RepresentationLayer>();
m_processingChain->Add(std::make_shared<PrepareFeatureLayer>());
m_processingChain->Add(std::make_shared<CountryLayer>());
m_affiliationsLayer = std::make_shared<AffiliationsFeatureLayer>(kAffiliationsBufferSize, m_affiliations, m_queue);
m_processingChain->Add(m_affiliationsLayer);
}
std::shared_ptr<FeatureProcessorInterface> ProcessorCountry::Clone() const
{
return std::make_shared<ProcessorCountry>(m_affiliations, m_queue);
}
void ProcessorCountry::Process(feature::FeatureBuilder & feature)
{
m_processingChain->Handle(feature);
}
void ProcessorCountry::Finish()
{
m_affiliationsLayer->AddBufferToQueue();
}
} // namespace generator