From 09e604b39eb47cd1d86b2c86df367d5423a09756 Mon Sep 17 00:00:00 2001 From: Maksim Andrianov Date: Fri, 26 Feb 2021 14:08:56 +0300 Subject: Review fixes --- generator/road_access_generator.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/generator/road_access_generator.cpp b/generator/road_access_generator.cpp index ccb9b41162..856ceb1123 100644 --- a/generator/road_access_generator.cpp +++ b/generator/road_access_generator.cpp @@ -285,34 +285,40 @@ void ParseRoadAccessConditional( VehicleType vehicleType = VehicleType::Count; while (getline(stream, line)) { - using It = strings::TokenizeIterator; + using It = strings::SimpleTokenizer; It strIt(line, strings::SimpleDelimiter('\t')); - + CHECK(strIt, ()); buffer = *strIt; strings::Trim(buffer); FromString(buffer, vehicleType); CHECK_NOT_EQUAL(vehicleType, VehicleType::Count, (buffer)); + auto const moveIterAndCheck = [&]() { + ++strIt; + CHECK(strIt, ()); + return *strIt; + }; + uint64_t osmId = 0; - buffer = *(++strIt); + buffer = moveIterAndCheck(); strings::Trim(buffer); CHECK(strings::to_uint64(buffer, osmId), (buffer)); size_t accessNumber = 0; - buffer = *(++strIt); + buffer = moveIterAndCheck(); strings::Trim(buffer); CHECK(strings::to_size_t(buffer, accessNumber), (buffer)); CHECK_NOT_EQUAL(accessNumber, 0, ()); RoadAccess::Conditional conditional; for (size_t i = 0; i < accessNumber; ++i) { - buffer = *(++strIt); + buffer = moveIterAndCheck(); strings::Trim(buffer); RoadAccess::Type roadAccessType = RoadAccess::Type::Count; FromString(buffer, roadAccessType); CHECK_NOT_EQUAL(roadAccessType, RoadAccess::Type::Count, ()); - buffer = *(++strIt); + buffer = moveIterAndCheck(); strings::Trim(buffer); osmoh::OpeningHours openingHours(buffer); if (!openingHours.IsValid()) -- cgit v1.2.3