From 59ad7dddb2117c49eecfe7c7089ee464e7cbcb24 Mon Sep 17 00:00:00 2001 From: Moritz Seemann Date: Wed, 11 Jan 2017 16:56:42 +0100 Subject: [PATCH] make osm_elements a loop variable, not a local variable The vector osm_elements was created and destroyed in each loop iteration. It can be kept and cleared instead. --- src/extractor/extractor.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/extractor/extractor.cpp b/src/extractor/extractor.cpp index 994f9d3c4..b27083e5a 100644 --- a/src/extractor/extractor.cpp +++ b/src/extractor/extractor.cpp @@ -173,10 +173,11 @@ int Extractor::run(ScriptingEnvironment &scripting_environment) // setup restriction parser const RestrictionParser restriction_parser(scripting_environment); - while (const osmium::memory::Buffer buffer = reader.read()) + // create a vector of iterators into the buffer + for (std::vector osm_elements; + const osmium::memory::Buffer buffer = reader.read(); + osm_elements.clear()) { - // create a vector of iterators into the buffer - std::vector osm_elements; for (auto iter = std::begin(buffer), end = std::end(buffer); iter != end; ++iter) { osm_elements.push_back(iter);