Skip to content

Commit 85047cc

Browse files
authored
Merge pull request #886 from lonvia/update-libosmium
Update libosmium to 2.15.0
2 parents 433ad38 + 54d0bea commit 85047cc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+898
-472
lines changed

contrib/libosmium/README.contrib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
Source: https://github.com/osmcode/libosmium
2-
Revision: v2.14.2
2+
Revision: v2.15.0

contrib/libosmium/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ cmake:
6868

6969
This will build the examples and tests. Call `ctest` to run the tests.
7070

71-
For more detals see the
71+
For more details see the
7272
[Building Libosmium](https://osmcode.org/libosmium/manual.html#building-libosmium)
7373
chapter in the manual.
7474

contrib/libosmium/osmium/area/detail/basic_assembler.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,9 @@ namespace osmium {
105105

106106
struct slocation {
107107

108-
static constexpr const uint32_t invalid_item = 1u << 30u;
108+
enum {
109+
invalid_item = 1u << 30u
110+
};
109111

110112
uint32_t item : 31;
111113
uint32_t reverse : 1;

contrib/libosmium/osmium/area/detail/segment_list.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,14 +147,14 @@ namespace osmium {
147147
m_debug(debug) {
148148
}
149149

150-
~SegmentList() noexcept = default;
151-
152150
SegmentList(const SegmentList&) = delete;
153151
SegmentList(SegmentList&&) = delete;
154152

155153
SegmentList& operator=(const SegmentList&) = delete;
156154
SegmentList& operator=(SegmentList&&) = delete;
157155

156+
~SegmentList() noexcept = default;
157+
158158
/// The number of segments in the list.
159159
std::size_t size() const noexcept {
160160
return m_segments.size();
@@ -181,7 +181,7 @@ namespace osmium {
181181
return m_segments[n];
182182
}
183183

184-
NodeRefSegment& operator[](std::size_t n) noexcept {
184+
NodeRefSegment& operator[](const std::size_t n) noexcept {
185185
assert(n < m_segments.size());
186186
return m_segments[n];
187187
}
@@ -206,7 +206,7 @@ namespace osmium {
206206
* Enable or disable debug output to stderr. This is used
207207
* for debugging libosmium itself.
208208
*/
209-
void enable_debug_output(bool debug = true) noexcept {
209+
void enable_debug_output(const bool debug = true) noexcept {
210210
m_debug = debug;
211211
}
212212

contrib/libosmium/osmium/area/geom_assembler.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,6 @@ namespace osmium {
6868
detail::BasicAssembler(config) {
6969
}
7070

71-
~GeomAssembler() noexcept = default;
72-
7371
/**
7472
* Assemble an area from the given way.
7573
*

contrib/libosmium/osmium/area/multipolygon_collector.hpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,13 @@ namespace osmium {
8585

8686
area_stats m_stats;
8787

88-
static constexpr size_t initial_output_buffer_size = 1024 * 1024;
89-
static constexpr size_t max_buffer_size_for_flush = 100 * 1024;
88+
enum {
89+
initial_output_buffer_size = 1024ul * 1024ul
90+
};
91+
92+
enum {
93+
max_buffer_size_for_flush = 100ul * 1024ul
94+
};
9095

9196
void flush_output_buffer() {
9297
if (this->callback()) {

contrib/libosmium/osmium/builder/attr.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ namespace osmium {
764764
template <typename TBuilder, typename THandler, typename... TArgs>
765765
inline typename std::enable_if<is_handled_by<THandler, TArgs...>::value>::type
766766
add_list(osmium::builder::Builder& parent, const TArgs&... args) {
767-
TBuilder builder(parent.buffer(), &parent);
767+
TBuilder builder{parent.buffer(), &parent};
768768
(void)std::initializer_list<int>{
769769
(THandler::set_value(builder, args), 0)...
770770
};
@@ -792,7 +792,7 @@ namespace osmium {
792792
static_assert(detail::are_all_handled_by<detail::any_node_handlers, TArgs...>::value, "Attribute not allowed in add_node()");
793793

794794
{
795-
NodeBuilder builder(buffer);
795+
NodeBuilder builder{buffer};
796796

797797
detail::add_basic<detail::node_handler>(builder, args...);
798798
detail::add_user(builder, args...);
@@ -815,7 +815,7 @@ namespace osmium {
815815
static_assert(detail::are_all_handled_by<detail::any_way_handlers, TArgs...>::value, "Attribute not allowed in add_way()");
816816

817817
{
818-
WayBuilder builder(buffer);
818+
WayBuilder builder{buffer};
819819

820820
detail::add_basic<detail::object_handler>(builder, args...);
821821
detail::add_user(builder, args...);
@@ -839,7 +839,7 @@ namespace osmium {
839839
static_assert(detail::are_all_handled_by<detail::any_relation_handlers, TArgs...>::value, "Attribute not allowed in add_relation()");
840840

841841
{
842-
RelationBuilder builder(buffer);
842+
RelationBuilder builder{buffer};
843843

844844
detail::add_basic<detail::object_handler>(builder, args...);
845845
detail::add_user(builder, args...);
@@ -863,7 +863,7 @@ namespace osmium {
863863
static_assert(detail::are_all_handled_by<detail::any_changeset_handlers, TArgs...>::value, "Attribute not allowed in add_changeset()");
864864

865865
{
866-
ChangesetBuilder builder(buffer);
866+
ChangesetBuilder builder{buffer};
867867

868868
detail::add_basic<detail::changeset_handler>(builder, args...);
869869
detail::add_user(builder, args...);
@@ -887,7 +887,7 @@ namespace osmium {
887887
static_assert(detail::are_all_handled_by<detail::any_area_handlers, TArgs...>::value, "Attribute not allowed in add_area()");
888888

889889
{
890-
AreaBuilder builder(buffer);
890+
AreaBuilder builder{buffer};
891891

892892
detail::add_basic<detail::object_handler>(builder, args...);
893893
detail::add_user(builder, args...);
@@ -914,7 +914,7 @@ namespace osmium {
914914
static_assert(detail::are_all_handled_by<detail::nodes_handler, TArgs...>::value, "Attribute not allowed in add_way_node_list()");
915915

916916
{
917-
WayNodeListBuilder builder(buffer);
917+
WayNodeListBuilder builder{buffer};
918918
(void)std::initializer_list<int>{
919919
(detail::nodes_handler::set_value(builder, args), 0)...
920920
};
@@ -936,7 +936,7 @@ namespace osmium {
936936
static_assert(detail::are_all_handled_by<detail::tags_handler, TArgs...>::value, "Attribute not allowed in add_tag_list()");
937937

938938
{
939-
TagListBuilder builder(buffer);
939+
TagListBuilder builder{buffer};
940940
(void)std::initializer_list<int>{
941941
(detail::tags_handler::set_value(builder, args), 0)...
942942
};

contrib/libosmium/osmium/builder/builder.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ namespace osmium {
6565
explicit Builder(osmium::memory::Buffer& buffer, Builder* parent, osmium::memory::item_size_type size) :
6666
m_buffer(buffer),
6767
m_parent(parent),
68-
m_item_offset(buffer.written()) {
68+
m_item_offset(buffer.written() - buffer.committed()) {
6969
reserve_space(size);
7070
assert(buffer.is_aligned());
7171
if (m_parent) {
@@ -80,15 +80,15 @@ namespace osmium {
8080
}
8181

8282
#ifdef NDEBUG
83-
~Builder() = default;
83+
~Builder() noexcept = default;
8484
#else
8585
~Builder() noexcept {
8686
m_buffer.decrement_builder_count();
8787
}
8888
#endif
8989

9090
osmium::memory::Item& item() const {
91-
return *reinterpret_cast<osmium::memory::Item*>(m_buffer.data() + m_item_offset);
91+
return *reinterpret_cast<osmium::memory::Item*>(m_buffer.data() + m_buffer.committed() + m_item_offset);
9292
}
9393

9494
unsigned char* reserve_space(std::size_t size) {

contrib/libosmium/osmium/geom/tile.hpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ namespace osmium {
9898
*/
9999
struct Tile {
100100

101+
enum {
102+
max_zoom = 30u
103+
};
104+
101105
/// x coordinate
102106
uint32_t x;
103107

@@ -119,7 +123,7 @@ namespace osmium {
119123
x(tx),
120124
y(ty),
121125
z(zoom) {
122-
assert(zoom <= 30u);
126+
assert(zoom <= max_zoom);
123127
assert(x < num_tiles_in_zoom(zoom));
124128
assert(y < num_tiles_in_zoom(zoom));
125129
}
@@ -134,7 +138,7 @@ namespace osmium {
134138
*/
135139
explicit Tile(uint32_t zoom, const osmium::Location& location) :
136140
z(zoom) {
137-
assert(zoom <= 30u);
141+
assert(zoom <= max_zoom);
138142
assert(location.valid());
139143
const auto coordinates = lonlat_to_mercator(location);
140144
x = mercx_to_tilex(zoom, coordinates.x);
@@ -151,7 +155,7 @@ namespace osmium {
151155
*/
152156
explicit Tile(uint32_t zoom, const osmium::geom::Coordinates& coordinates) :
153157
z(zoom) {
154-
assert(zoom <= 30u);
158+
assert(zoom <= max_zoom);
155159
x = mercx_to_tilex(zoom, coordinates.x);
156160
y = mercy_to_tiley(zoom, coordinates.y);
157161
}
@@ -162,7 +166,7 @@ namespace osmium {
162166
* each be between 0 and 2^zoom-1.
163167
*/
164168
bool valid() const noexcept {
165-
if (z > 30) {
169+
if (z > max_zoom) {
166170
return false;
167171
}
168172
const auto max = num_tiles_in_zoom(z);

contrib/libosmium/osmium/index/detail/mmap_vector_base.hpp

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ namespace osmium {
4646

4747
namespace detail {
4848

49-
constexpr size_t mmap_vector_size_increment = 1024 * 1024;
49+
enum {
50+
mmap_vector_size_increment = 1024ul * 1024ul
51+
};
5052

5153
/**
5254
* This is a base class for implementing classes that look like
@@ -58,20 +60,20 @@ namespace osmium {
5860

5961
protected:
6062

61-
size_t m_size = 0;
63+
std::size_t m_size = 0;
6264
osmium::TypedMemoryMapping<T> m_mapping;
6365

6466
public:
6567

66-
mmap_vector_base(int fd, size_t capacity, size_t size = 0) :
68+
mmap_vector_base(const int fd, const std::size_t capacity, const std::size_t size = 0) :
6769
m_size(size),
6870
m_mapping(capacity, osmium::MemoryMapping::mapping_mode::write_shared, fd) {
6971
assert(size <= capacity);
7072
std::fill(data() + size, data() + capacity, osmium::index::empty_value<T>());
7173
shrink_to_fit();
7274
}
7375

74-
explicit mmap_vector_base(size_t capacity = mmap_vector_size_increment) :
76+
explicit mmap_vector_base(const std::size_t capacity = mmap_vector_size_increment) :
7577
m_mapping(capacity) {
7678
std::fill_n(data(), capacity, osmium::index::empty_value<T>());
7779
}
@@ -88,11 +90,11 @@ namespace osmium {
8890
m_mapping.unmap();
8991
}
9092

91-
size_t capacity() const noexcept {
93+
std::size_t capacity() const noexcept {
9294
return m_mapping.size();
9395
}
9496

95-
size_t size() const noexcept {
97+
std::size_t size() const noexcept {
9698
return m_size;
9799
}
98100

@@ -108,17 +110,17 @@ namespace osmium {
108110
return m_mapping.begin();
109111
}
110112

111-
const_reference operator[](size_t n) const {
113+
const_reference operator[](const std::size_t n) const {
112114
assert(n < m_size);
113115
return data()[n];
114116
}
115117

116-
reference operator[](size_t n) {
118+
reference operator[](const std::size_t n) {
117119
assert(n < m_size);
118120
return data()[n];
119121
}
120122

121-
value_type at(size_t n) const {
123+
value_type at(const std::size_t n) const {
122124
if (n >= m_size) {
123125
throw std::out_of_range{"out of range"};
124126
}
@@ -140,17 +142,17 @@ namespace osmium {
140142
data()[m_size - 1] = value;
141143
}
142144

143-
void reserve(size_t new_capacity) {
145+
void reserve(const std::size_t new_capacity) {
144146
if (new_capacity > capacity()) {
145-
const size_t old_capacity = capacity();
147+
const std::size_t old_capacity = capacity();
146148
m_mapping.resize(new_capacity);
147149
std::fill(data() + old_capacity, data() + new_capacity, osmium::index::empty_value<value_type>());
148150
}
149151
}
150152

151-
void resize(size_t new_size) {
153+
void resize(const std::size_t new_size) {
152154
if (new_size > capacity()) {
153-
reserve(new_size + osmium::detail::mmap_vector_size_increment);
155+
reserve(new_size + mmap_vector_size_increment);
154156
}
155157
m_size = new_size;
156158
}

0 commit comments

Comments
 (0)