1 #ifndef OSMIUM_OSM_WAY_HPP 2 #define OSMIUM_OSM_WAY_HPP 47 template <
typename T>
class ObjectBuilder;
71 OSMObject(sizeof(Way), osmium::item_type::way) {
77 return osmium::detail::subitem_of_type<WayNodeList>(
begin(),
end());
81 return osmium::detail::subitem_of_type<const WayNodeList>(cbegin(), cend());
89 for (
auto& node_ref : nodes()) {
90 if (node_ref.ref() == new_node_ref.
ref()) {
91 node_ref.set_location(new_node_ref.
location());
100 return nodes().is_closed();
104 return nodes().ends_have_same_id();
108 return nodes().ends_have_same_location();
116 #endif // OSMIUM_OSM_WAY_HPP WayNodeList & nodes()
Definition: way.hpp:76
item_type
Definition: item_type.hpp:43
bool is_closed() const
Definition: way.hpp:99
constexpr osmium::object_id_type ref() const noexcept
Definition: node_ref.hpp:65
Namespace for everything in the Osmium library.
Definition: assembler.hpp:73
void update_node_location(const NodeRef &new_node_ref)
Definition: way.hpp:88
osmium::io::InputIterator< osmium::io::Reader > end(osmium::io::Reader &)
Definition: reader_iterator.hpp:45
WayNodeList()
Definition: way.hpp:59
osmium::Location & location() noexcept
Definition: node_ref.hpp:79
bool ends_have_same_location() const
Definition: way.hpp:107
bool ends_have_same_id() const
Definition: way.hpp:103
Definition: builder.hpp:185
const WayNodeList & nodes() const
Definition: way.hpp:80
Definition: node_ref_list.hpp:51
Definition: node_ref.hpp:50
osmium::io::InputIterator< osmium::io::Reader > begin(osmium::io::Reader &reader)
Definition: reader_iterator.hpp:41
Definition: object.hpp:58