[libosmium] 01/05: Merge branch 'experimental'

Bas Couwenberg sebastic at debian.org
Sun Jun 18 10:20:19 UTC 2017


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository libosmium.

commit b0e9f10859eef73c46648b38335d838b1dfffbeb
Merge: ecea6d3 3f8c266
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sun Jun 18 12:02:14 2017 +0200

    Merge branch 'experimental'
    
    Conflicts:
    	CHANGELOG.md
    	CMakeLists.txt
    	debian/changelog
    	include/osmium/area/assembler.hpp
    	include/osmium/io/reader.hpp
    	include/osmium/memory/buffer.hpp
    	include/osmium/tags/filter.hpp
    	include/osmium/version.hpp
    	test/t/memory/test_buffer_basics.cpp

 CHANGELOG.md                                       |  123 +-
 CMakeLists.txt                                     |   25 +-
 appveyor.yml                                       |    5 +
 benchmarks/CMakeLists.txt                          |    1 +
 build-appveyor.bat                                 |    3 +-
 cmake/FindOsmium.cmake                             |   18 +
 debian/changelog                                   |   45 +-
 debian/control                                     |    2 +-
 debian/gbp.conf                                    |    2 +-
 examples/CMakeLists.txt                            |    1 +
 examples/osmium_change_tags.cpp                    |    2 +-
 examples/osmium_dump_internal.cpp                  |    2 +-
 examples/osmium_index_lookup.cpp                   |    6 +-
 include/osmium/area/assembler.hpp                  | 1359 +-----------
 include/osmium/area/assembler_config.hpp           |  152 ++
 include/osmium/area/detail/basic_assembler.hpp     | 1206 +++++++++++
 include/osmium/area/detail/node_ref_segment.hpp    |    2 +-
 include/osmium/area/detail/proto_ring.hpp          |   18 +-
 include/osmium/area/detail/segment_list.hpp        |   43 +-
 include/osmium/area/detail/vector.hpp              |    2 +-
 include/osmium/area/geom_assembler.hpp             |  131 ++
 include/osmium/area/multipolygon_collector.hpp     |    1 +
 include/osmium/area/problem_reporter.hpp           |   17 +
 include/osmium/area/problem_reporter_exception.hpp |   48 +-
 include/osmium/area/problem_reporter_ogr.hpp       |   28 +-
 include/osmium/area/problem_reporter_stream.hpp    |   10 +
 include/osmium/area/stats.hpp                      |    8 +-
 include/osmium/builder/builder_helper.hpp          |    6 +-
 include/osmium/geom/factory.hpp                    |    2 +-
 include/osmium/geom/mercator_projection.hpp        |    6 +-
 include/osmium/geom/projection.hpp                 |   54 +-
 include/osmium/handler/check_order.hpp             |   41 +-
 include/osmium/handler/node_locations_for_ways.hpp |   14 +-
 include/osmium/index/id_set.hpp                    |    1 +
 include/osmium/index/map/dense_file_array.hpp      |    4 +
 include/osmium/index/map/dense_mem_array.hpp       |    4 +
 include/osmium/index/map/dense_mmap_array.hpp      |    4 +
 include/osmium/index/map/sparse_file_array.hpp     |    4 +
 include/osmium/index/map/sparse_mem_array.hpp      |    4 +
 include/osmium/index/map/sparse_mem_map.hpp        |    4 +
 include/osmium/index/map/sparse_mem_table.hpp      |   26 +-
 include/osmium/index/map/sparse_mmap_array.hpp     |    4 +
 include/osmium/index/node_locations_map.hpp        |    2 +
 .../{map/dense_mem_array.hpp => nwr_array.hpp}     |   30 +-
 include/osmium/index/relations_map.hpp             |  280 ++-
 include/osmium/io/detail/input_format.hpp          |   53 +-
 include/osmium/io/detail/o5m_input_format.hpp      |   14 +-
 include/osmium/io/detail/opl_input_format.hpp      |   14 +-
 include/osmium/io/detail/pbf_input_format.hpp      |   16 +-
 include/osmium/io/detail/pbf_output_format.hpp     |    1 -
 include/osmium/io/detail/protobuf_tags.hpp         |    2 +-
 include/osmium/io/detail/string_util.hpp           |    2 +-
 include/osmium/io/detail/write_thread.hpp          |    2 +-
 include/osmium/io/detail/xml_input_format.hpp      |   20 +-
 include/osmium/io/detail/xml_output_format.hpp     |    1 -
 include/osmium/io/file_compression.hpp             |    9 +-
 include/osmium/io/file_format.hpp                  |    9 +-
 include/osmium/io/reader.hpp                       |   54 +-
 include/osmium/io/writer.hpp                       |   31 +-
 include/osmium/memory/buffer.hpp                   |    9 +-
 include/osmium/object_pointer_collection.hpp       |   25 +-
 include/osmium/osm/crc.hpp                         |    2 +-
 include/osmium/osm/item_type.hpp                   |   21 +-
 include/osmium/relations/collector.hpp             |   16 +-
 include/osmium/tags/filter.hpp                     |   37 +-
 include/osmium/tags/matcher.hpp                    |  132 ++
 include/osmium/tags/regex_filter.hpp               |    5 +-
 include/osmium/tags/taglist.hpp                    |   13 +-
 include/osmium/tags/tags_filter.hpp                |  154 ++
 include/osmium/thread/function_wrapper.hpp         |    2 +-
 include/osmium/thread/pool.hpp                     |    2 +-
 include/osmium/thread/util.hpp                     |    2 +-
 include/osmium/util/file.hpp                       |   13 +-
 include/osmium/util/memory_mapping.hpp             |   10 +-
 include/osmium/util/options.hpp                    |    5 +-
 include/osmium/util/string_matcher.hpp             |  429 ++++
 include/osmium/version.hpp                         |    6 +-
 test/CMakeLists.txt                                |    7 +
 test/data-tests/CMakeLists.txt                     |   10 +-
 test/data-tests/multipolygon.qgs                   | 2089 ++++++++++--------
 test/data-tests/testcases/test-100.cpp             |   23 +-
 test/data-tests/testcases/test-101.cpp             |   22 +-
 test/data-tests/testcases/test-110.cpp             |   19 +-
 test/data-tests/testdata-xml.cpp                   |  669 +++---
 test/include/catch.hpp                             | 2261 +++++++++++++-------
 test/t/area/test_assembler.cpp                     |  143 ++
 test/t/area/test_node_ref_segment.cpp              |   65 +-
 test/t/geom/test_projection.cpp                    |   46 +-
 test/t/index/test_relations_map.cpp                |   68 +-
 test/t/io/test_compression_factory.cpp             |   11 +-
 test/t/io/test_opl_parser.cpp                      |  153 +-
 test/t/io/test_reader.cpp                          |   76 +-
 test/t/io/test_reader_with_mock_parser.cpp         |   14 +-
 test/t/io/test_writer.cpp                          |    6 +-
 test/t/io/test_writer_with_mock_compression.cpp    |   12 +-
 test/t/io/test_writer_with_mock_encoder.cpp        |   14 +-
 test/t/memory/test_buffer_basics.cpp               |    5 +
 test/t/osm/test_location.cpp                       |    8 +-
 test/t/tags/test_tag_list.cpp                      |   17 +-
 test/t/tags/test_tag_matcher.cpp                   |   93 +
 test/t/tags/test_tags_filter.cpp                   |   79 +
 test/t/util/test_cast_with_assert.cpp              |  115 +-
 test/t/util/test_delta.cpp                         |   44 +-
 test/t/util/test_double.cpp                        |   51 +-
 test/t/util/test_memory_mapping.cpp                |  546 +++--
 test/t/util/test_minmax.cpp                        |   81 +-
 test/t/util/test_options.cpp                       |    2 -
 test/t/util/test_string.cpp                        |   94 +-
 test/t/util/test_string_matcher.cpp                |  156 ++
 109 files changed, 7445 insertions(+), 4415 deletions(-)

diff --cc CHANGELOG.md
index cc1fdcc,a7ddcc3..57d05bb
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@@ -23,20 -12,122 +23,135 @@@ This project adheres to [Semantic Versi
  
  ### Fixed
  
 +- Use minimum size of 64 bytes for buffers. This fixes an infinite loop
 +  when buffer size is zero.
 +
 +
 +## [2.11.1] - 2017-03-07
 +
 +### Fixed
 +
 +- Terminate called on full non-auto-growing buffer. (Issue #189.)
 +- When file formats were used that were not compiled into the binary, it
 +  terminated instead of throwing. (Issue #197.)
 +- The `Filter::count()` method didn't compile at all.
 +
  
+ ## [2.12.2] - 2017-05-3
+ 
+ ### Added
+ 
+ - Add two argument (key, value) overload of `TagMatcher::operator()`.
+ 
+ ### Changed
+ 
+ - Detect, report, and remove duplicate ways in multipolygon relations.
+ - Change EOF behaviour of Reader: The `Reader::read()` function will now
+   always return an invalid buffer exactly once to signal EOF.
+ - Update QGIS multipolygon project that is part of the test suite to show
+   more problem types.
+ - Copy multipolygon QGIS file for tests to build dir in cmake step.
+ - Some code cleanups and improved debug output in multipolygon code.
+ - Refactor I/O code to simplify code.
+ - Disable some warnings on MSVC.
+ - Various small code and build script changes.
+ 
+ ### Fixed
+ 
+ - Two bugs in area assembler affecting very complex multipolygons and
+   multipolygons with overlapping or nearly overlapping lines.
+ - Invalid use of iterators leading to undefined behaviour in area assembler
+   code.
+ - Area assembler stats were not correctly counting inner rings that are
+   areas in their own right.
+ - Fix a thread problem valgrind found that might or might not be real.
+ - Read OPL file correctly even if trailing newline in file is missing.
+ - Include order for `osmium/index/map` headers and
+   `osmium/index/node_locations_map.hpp` (or
+   `osmium/handler/node_locations_for_ways.hpp`) doesn't matter any more.
+ 
+ 
+ ## [2.12.1] - 2017-04-10
+ 
+ ### Added
+ 
+ - New `TagsFilter::set_default_result()` function.
+ 
+ ### Changed
+ 
+ - Use larger capacity for `Buffer` if necessary for alignment instead of
+   throwing an exception. Minimum buffer size is now 64 bytes.
+ - Check order of input data in relations collector. The relations collector
+   can not deal with history data or a changes file. This was documented as a
+   requirement, but often lead to problems, because this was ignored by users.
+   So it now checks that the input data it gets is ordered and throws an
+   exception otherwise.
+ - When writing an OSM file, set generator to libosmium if not set by app.
+ 
+ ### Fixed
+ 
+ - Infinite loop in `Buffer::reserve_space()`. (Issue #202.)
+ - `ObjectPointerCollection::unique()` now removes elements at end.
+ - Tests comparing double using `==` operator.
+ - Build on Cygwin.
+ 
+ 
+ ## [2.12.0] - 2017-03-07
+ 
+ ### Added
+ 
+ - `TagMatcher` and `TagsFilter` classes for more flexibly matching tags and
+   selecting objects based on tags. This obsoletes the less flexible classes
+   based on `osmium::tags::Filter` classes.
+ - Extended `index::RelationsMap(Stash|Index)` classes to also allow
+   parent-to-member lookups.
+ - New `nrw_array` helper class.
+ - `ObjectPointerCollection::unique()` function.
+ 
+ ### Changed
+ 
+ - Area assembler can now detect invalid locations and report them in the
+   stats and through the problem reporter. If the new config option
+   `ignore_invalid_locations` is set, the Assembler will pretend they weren't
+   even referenced in the ways. (Issue #195.)
+ - `osmium::area::Assembler::operator()` will now return a boolean reporting
+   whether building of the area(s) was successful.
+ - Split up area `Assembler` class into three classes: The
+   `detail::BasicAssembler` is now the parent class. `Assembler` is the child
+   class for usual use. The new `GeomAssembler` also derives from
+   `BasicAssembler` and builds areas without taking tags into account at all.
+   This is to support osm2pgsql which does tag handling itself. (Issue #194.)
+ - The `Projection` class can do any projection supported by the Proj.4
+   library. As a special case it now uses our own Mercator projection
+   functions when the web mercator projection (EPSG 3857) is used. This is
+   much faster than going through Proj.4.
+ - Better error messages for low-level file utility functions.
+ - Mark `build_tag_list*` functions in `builder_helper.hpp` as deprecated. You
+   should use the functions from `osmium/builder/attr.hpp` instead.
+ - Improved performance of the `osmium::tags::match_(any|all|none)_of`
+   functions.
+ - Improved performance of string comparison in `tags::Filter`.
+ - Update version of Catch unit test framework to 1.8.1. This meant some
+   tests had to be updated.
+ - Use `get_noexcept()` in `NodeLocationsForWays` handler.
+ - And lots of code and test cleanups...
+ 
+ ### Fixed
+ 
+ - Terminate called on full non-auto-growing buffer. (Issue #189.)
+ - When file formats were used that were not compiled into the binary, it
+   terminated instead of throwing. (Issue #197.)
+ - Windows build problem related to including two different winsock versions.
+ - Windows build problem related to forced build for old Windows versions.
+   (Issue #196.)
+ - Clear stream contents in ProblemReporterException correctly.
+ - Add `-pthread` compiler and linker options on Linux/OSX. This should fix
+   a problem where some linker versions will not link binaries correctly when
+   the `--as-needed` option is used.
+ - The `Filter::count()` method didn't compile at all.
+ - XML reader doesn't fail on relation member ref=0 any more.
+ 
+ 
  ## [2.11.0] - 2017-01-14
  
  ### Added

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/libosmium.git



More information about the Pkg-grass-devel mailing list