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.
This commit is contained in:
Moritz Seemann 2017-01-11 16:56:42 +01:00
parent f12fdeb23e
commit 59ad7dddb2

View File

@ -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<osmium::memory::Buffer::const_iterator> osm_elements;
const osmium::memory::Buffer buffer = reader.read();
osm_elements.clear())
{
// create a vector of iterators into the buffer
std::vector<osmium::memory::Buffer::const_iterator> osm_elements;
for (auto iter = std::begin(buffer), end = std::end(buffer); iter != end; ++iter)
{
osm_elements.push_back(iter);