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

39 lines
1.0 KiB
C++

#pragma once
#include "generator/collection_base.hpp"
#include "generator/collector_interface.hpp"
#include <memory>
struct OsmElement;
class RelationElement;
namespace feature
{
class FeatureBuilder;
} // namespace feature
namespace generator
{
// This class allows you to work with a group of collectors as with one.
class CollectorCollection : public CollectionBase<std::shared_ptr<CollectorInterface>>, public CollectorInterface
{
public:
// CollectorInterface overrides:
std::shared_ptr<CollectorInterface> Clone(IDRInterfacePtr const & cache = {}) const override;
void Collect(OsmElement const & element) override;
void CollectRelation(RelationElement const & element) override;
void CollectFeature(feature::FeatureBuilder const & feature, OsmElement const & element) override;
void Finish() override;
IMPLEMENT_COLLECTOR_IFACE(CollectorCollection);
void MergeInto(CollectorCollection & collector) const;
protected:
void Save() override;
void OrderCollectedData() override;
};
} // namespace generator