diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2017-10-25 11:58:43 +0300 |
---|---|---|
committer | mpimenov <mpimenov@users.noreply.github.com> | 2017-10-25 17:10:31 +0300 |
commit | 86966941d1c31434f3e3d69bde23f1bc47fe200f (patch) | |
tree | 10f20c26956feeaeef539fb1da1537221767d0c9 /generator | |
parent | 1629527527274cc7bf32fb2318a18c82305c0d5f (diff) |
Keep ranges of stop ids in lines.
Diffstat (limited to 'generator')
-rw-r--r-- | generator/generator_tests/transit_test.cpp | 6 | ||||
-rw-r--r-- | generator/transit_generator.cpp | 7 | ||||
-rw-r--r-- | generator/transit_generator.hpp | 1 |
3 files changed, 11 insertions, 3 deletions
diff --git a/generator/generator_tests/transit_test.cpp b/generator/generator_tests/transit_test.cpp index 2c18796259..9ca0963243 100644 --- a/generator/generator_tests/transit_test.cpp +++ b/generator/generator_tests/transit_test.cpp @@ -251,11 +251,11 @@ UNIT_TEST(DeserializerFromJson_Lines) vector<Line> const expected = {Line(19207936 /* line id */, "1" /* number */, "Московская линия" /* title */, "subway" /* type */, 2 /* network id */, - {343262691, 343259523, 343252898, 209191847, 2947858576} /* stop ids */), + {{343262691, 343259523, 343252898, 209191847, 2947858576}} /* stop ids */), Line(19207937 /* line id */, "2" /* number */, "Московская линия" /* title */, "subway" /* type */, 2 /* network id */, - {246659391, 246659390, 209191855, 209191854, 209191853, - 209191852, 209191851} /* stop ids */)}; + {{246659391, 246659390, 209191855, 209191854, 209191853, + 209191852, 209191851}} /* stop ids */)}; TestDeserializerFromJson(jsonBuffer, "lines", expected); } diff --git a/generator/transit_generator.cpp b/generator/transit_generator.cpp index 0025c21001..5dbdfcc91c 100644 --- a/generator/transit_generator.cpp +++ b/generator/transit_generator.cpp @@ -230,6 +230,13 @@ void DeserializerFromJson::operator()(FeatureIdentifiers & id, char const * name id = FeatureIdentifiers(osmId.EncodedId() /* osm id */, it->second[0] /* feature id */); } +void DeserializerFromJson::operator()(StopIdRanges & rs, char const * name) +{ + vector<StopId> stopIds; + (*this)(stopIds, name); + rs = StopIdRanges({stopIds}); +} + void BuildTransit(string const & mwmDir, string const & countryId, string const & osmIdsToFeatureIdPath, string const & transitDir) { diff --git a/generator/transit_generator.hpp b/generator/transit_generator.hpp index 2336a23a20..8e598fb9a0 100644 --- a/generator/transit_generator.hpp +++ b/generator/transit_generator.hpp @@ -40,6 +40,7 @@ public: void operator()(m2::PointD & p, char const * name = nullptr); void operator()(ShapeId & id, char const * name = nullptr); void operator()(FeatureIdentifiers & id, char const * name = nullptr); + void operator()(StopIdRanges & rs, char const * name = nullptr); template <typename T> void operator()(std::vector<T> & vs, char const * name = nullptr) |