From 186ad5d444cde33f87bac72d05d91bd4d5d76290 Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Mon, 30 Jun 2014 15:10:28 +0200 Subject: [PATCH] stream-line code in PolylineCompressor, apply range-based for loop again --- Algorithms/PolylineCompressor.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Algorithms/PolylineCompressor.cpp b/Algorithms/PolylineCompressor.cpp index a34f8c758..cc873e91e 100644 --- a/Algorithms/PolylineCompressor.cpp +++ b/Algorithms/PolylineCompressor.cpp @@ -76,17 +76,13 @@ JSON::String PolylineCompressor::printEncodedString(const std::vector delta_numbers; if (!polyline.empty()) { - FixedPointCoordinate last_coordinate = polyline[0].location; - delta_numbers.emplace_back(last_coordinate.lat); - delta_numbers.emplace_back(last_coordinate.lon); - // iterate after skipping the first, already handled, segment - for (auto it = ++polyline.cbegin(); it != polyline.cend(); ++it) + FixedPointCoordinate last_coordinate = FixedPointCoordinate{0, 0}; + for (const auto &segment : polyline) { - const auto &segment = *it; if (segment.necessary) { - int lat_diff = segment.location.lat - last_coordinate.lat; - int lon_diff = segment.location.lon - last_coordinate.lon; + const int lat_diff = segment.location.lat - last_coordinate.lat; + const int lon_diff = segment.location.lon - last_coordinate.lon; delta_numbers.emplace_back(lat_diff); delta_numbers.emplace_back(lon_diff); last_coordinate = segment.location;