Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim Andrianov <maksimandrianov1@gmail.com>2019-03-22 17:40:38 +0300
committerTatiana Yan <tatiana.kondakova@gmail.com>2019-04-09 20:52:09 +0300
commit4c858a1d1d5943310e155c0efb1265b640727697 (patch)
tree3141beaac3cd2d7a3a37bf3d553dfbfaf0385f52 /generator/translator_collection.cpp
parent14bf63e03275b4ff6c19685592d0ea3387668f0f (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.cpp35
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