This replaces most uses of the ""_format literal with function calls to
fmt::format(). The latter form is available in all versions of the fmt
library, while the ""_format literal is deprecated in version 8 and
removed in version 9.
This might cost us some performance and early error detection, because
in at least some versions of the fmt library the _format() construct was
used to compile the format patterns at run time. That's why there are
some uses of the literal left in places where performance might be more
critical, they need a closer look.
See #1704
This adds a copyright notice to all C++ files and the README clarifying
the license. (There is no change of the license.) This also removes a
few names explicitly mentioned as copyright holders, instead refering to
the git log which has a full list of all osm2pgsql developers. (There is
also still the AUTHORS file which names the most important developers.)
The only exception is the sprompt.cpp file which was taken from
PostgreSQL and keeps its original license information (and, of course,
the files in contrib).
Changes all uses of boost::format to use the "xxx"_format syntax of the
fmt library. Starting from C++14 this will parse the format strings at
compile time making sure the format string and the arguments fit
together.
This also changes the CMake config so that you can set the C++ version
to compile with by using something like -DCMAKE_CXX_STANDARD=14 . C++11
is still the default.
On travis bionic builds are now using C++14.
This fixes pretty much exclusively unsued-parameter
warnings. Removes some function parameters which have
fallen out of use and also the permutating parameter
test. The latter did not really do what it promised
and was pretty much beyond repair.
This commit includes some larger structural changes:
- parse_t and parse_delegate_t removed, osm2pgsql now directly
creates a parse_osmium_t object
- bbox class replaced with osmium::Box
- code duplication in parse_stats_t cleaned up
- add generic parse() function for tests, also to avoid code duplication
Mosat maps prefer placing link roads below non-link roads. This allows
them to do so without complex SQL or multiple layer solutions which
break layer tag usage.
z_order per layer has also been increased from 10 to 100 to allow
for this more fine-grained ordering.
Other types of roads (tracks, paths, etc) have been added. This
does not impact those not using z_order for layers with these, but
does allow their use.