[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