diff options
author | Maksim Andrianov <maksimandrianov1@gmail.com> | 2019-03-22 17:40:38 +0300 |
---|---|---|
committer | Tatiana Yan <tatiana.kondakova@gmail.com> | 2019-04-09 20:52:09 +0300 |
commit | 4c858a1d1d5943310e155c0efb1265b640727697 (patch) | |
tree | 3141beaac3cd2d7a3a37bf3d553dfbfaf0385f52 /generator/translator_collection.cpp | |
parent | 14bf63e03275b4ff6c19685592d0ea3387668f0f (diff) |
[generator] Added CollectionBase class.
[generator] Added TypeHelper class.
[generator] Added filters.
[generator] Added collectors.
[generator] Changed interfaces of some classes.
[generator] Added the feature maker.
[generator] Added the city boundary processor.
[generator] Added relation tags enricher.
[generator] Added processing layers.
[generator] Changed emitters.
[generator] Changed translators.
[generator] Some changes related to refactoring.
[generator] Removed EmitterPlanet, TranslatorPlanet and TranslatorGeocoderBase.
[generator] Changed cmake list.
Review fixes
Diffstat (limited to 'generator/translator_collection.cpp')
-rw-r--r-- | generator/translator_collection.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/generator/translator_collection.cpp b/generator/translator_collection.cpp new file mode 100644 index 0000000000..c63e847e88 --- /dev/null +++ b/generator/translator_collection.cpp @@ -0,0 +1,35 @@ +#include "generator/translator_collection.hpp" + +#include "generator/osm_element.hpp" + +#include <algorithm> +#include <iterator> + +namespace generator +{ +void TranslatorCollection::Emit(OsmElement /* const */ & element) +{ + for (auto & t : m_collection) + { + OsmElement copy = element; + t->Emit(copy); + } +} + +bool TranslatorCollection::Finish() +{ + return std::all_of(std::begin(m_collection), std::end(m_collection), [](auto & t) { + return t->Finish(); + }); +} + +void TranslatorCollection::GetNames(std::vector<std::string> & names) const +{ + for (auto & t : m_collection) + { + std::vector<std::string> temp; + t->GetNames(temp); + std::move(std::begin(temp), std::end(temp), std::back_inserter(names)); + } +} +} // namespace generator |