Loading...
Searching...
No Matches
osmium::Way Class Reference

`#include <way.hpp>`

Inheritance diagram for osmium::Way:
[legend]
Collaboration diagram for osmium::Way:
[legend]

## Public Member Functions

WayNodeList & | nodes ()
const WayNodeList & | nodes () const
void | update_node_location (const NodeRef &new_node_ref)
bool | is_closed () const noexcept
bool | ends_have_same_id () const noexcept
bool | ends_have_same_location () const
osmium::Box | envelope () const noexcept
Public Member Functions inherited from osmium::OSMObject
object_id_type | id () const noexcept
| Get ID of this object.
unsigned_object_id_type | positive_id () const noexcept
| Get absolute value of the ID of this object.
OSMObject & | set_id (object_id_type id) noexcept
OSMObject & | set_id (const char *id)
bool | deleted () const noexcept
| Is this object marked as deleted?
bool | visible () const noexcept
| Is this object marked visible (ie not deleted)?
OSMObject & | set_deleted (bool deleted) noexcept
OSMObject & | set_visible (bool visible) noexcept
OSMObject & | set_visible (const char *visible)
object_version_type | version () const noexcept
| Get version of this object.
OSMObject & | set_version (object_version_type version) noexcept
OSMObject & | set_version (const char *version)
changeset_id_type | changeset () const noexcept
| Get changeset id of this object.
OSMObject & | set_changeset (changeset_id_type changeset) noexcept
OSMObject & | set_changeset (const char *changeset)
user_id_type | uid () const noexcept
| Get user id of this object.
OSMObject & | set_uid (user_id_type uid) noexcept
OSMObject & | set_uid_from_signed (signed_user_id_type uid) noexcept
OSMObject & | set_uid (const char *uid)
bool | user_is_anonymous () const noexcept
| Is this user anonymous?
osmium::Timestamp | timestamp () const noexcept
| Get timestamp when this object last changed.
OSMObject & | set_timestamp (const osmium::Timestamp &timestamp) noexcept
OSMObject & | set_timestamp (const char *timestamp)
const char * | user () const noexcept
| Get user name for this object.
void | clear_user () noexcept
| Clear user name.
const TagList & | tags () const
| Get the list of tags for this object.
const char * | get_value_by_key (const char *key, const char *default_value=nullptr) const noexcept
OSMObject & | set_attribute (const char *attr, const char *value)
void | remove_tags () noexcept
iterator | begin ()
iterator | end ()
const_iterator | cbegin () const
const_iterator | cend () const
const_iterator | begin () const
const_iterator | end () const
template<typename T>
osmium::memory::ItemIteratorRange< T > | subitems ()
template<typename T>
osmium::memory::ItemIteratorRange< const T > | subitems () const
template<typename T>
t_iterator< T > | begin ()
template<typename T>
t_iterator< T > | end ()
template<typename T>
t_const_iterator< T > | cbegin () const
template<typename T>
t_const_iterator< T > | cend () const
template<typename T>
t_const_iterator< T > | begin () const
template<typename T>
t_const_iterator< T > | end () const
Public Member Functions inherited from osmium::OSMEntity
| OSMEntity (osmium::memory::item_size_type size, osmium::item_type type)
bool | type_is_in (osmium::osm_entity_bits::type entity_bits) const
Public Member Functions inherited from osmium::memory::Item
| Item (const Item &)=delete
Item & | operator= (const Item &)=delete
| Item (Item &&)=delete
Item & | operator= (Item &&)=delete
| ~Item () noexcept=default
unsigned char * | next () noexcept
const unsigned char * | next () const noexcept
item_size_type | byte_size () const noexcept
item_size_type | padded_size () const
item_type | type () const noexcept
bool | removed () const noexcept
void | set_removed (const bool removed) noexcept
diff_indicator_type | diff () const noexcept
char | diff_as_char () const noexcept
void | set_diff (const diff_indicator_type diff) noexcept

## Static Public Member Functions

static constexpr bool | is_compatible_to (osmium::item_type t) noexcept
Static Public Member Functions inherited from osmium::OSMObject
static constexpr bool | is_compatible_to (osmium::item_type t) noexcept
Static Public Member Functions inherited from osmium::OSMEntity
static constexpr bool | is_compatible_to (osmium::item_type t) noexcept
Static Public Member Functions inherited from osmium::memory::Item
static constexpr bool | is_compatible_to (osmium::item_type) noexcept

## Static Public Attributes

static constexpr osmium::item_type | itemtype = osmium::item_type::way

## Private Member Functions

| Way () noexcept

## Friends

template<typename TDerived, typename T>
class | osmium::builder::OSMObjectBuilder

## Additional Inherited Members

Public Types inherited from osmium::OSMObject
using | iterator = osmium::memory::CollectionIterator<Item>
using | const_iterator = osmium::memory::CollectionIterator<const Item>
template<typename T>
using | t_iterator = osmium::memory::ItemIterator<T>
template<typename T>
using | t_const_iterator = osmium::memory::ItemIterator<const T>
Protected Member Functions inherited from osmium::OSMObject
| OSMObject (osmium::memory::item_size_type size, osmium::item_type type)
Protected Member Functions inherited from osmium::memory::Item
| Item (item_size_type size=0, item_type type=item_type{}) noexcept
Item & | set_type (const item_type item_type) noexcept

## Constructor & Destructor Documentation

## Way()

osmium::Way::Way | ( |  | ) |

inlineprivatenoexcept

## Member Function Documentation

## ends_have_same_id()

bool osmium::Way::ends_have_same_id | ( |  | ) | const

inlinenoexcept

Checks whether the first and last node in the way have the same ID. The locations are not checked.

Complexity: Constant.

Precondition
  !empty()

## ends_have_same_location()

bool osmium::Way::ends_have_same_location | ( |  | ) | const

inline

Checks whether the first and last node in the way have the same location. The IDs are not checked.

Complexity: Constant.

Precondition
  !empty()
  front().location() && back().location()

## envelope()

osmium::Box osmium::Way::envelope | ( |  | ) | const

inlinenoexcept

Calculate the envelope of this way. If the locations of the nodes are not set, the resulting box will be invalid.

Complexity: Linear in the number of nodes.

## is_closed()

bool osmium::Way::is_closed | ( |  | ) | const

inlinenoexcept

Checks whether the first and last node in the way have the same ID. The locations are not checked.

Complexity: Constant.

Precondition
  !empty()

## is_compatible_to()

constexpr bool osmium::Way::is_compatible_to | ( | osmium::item_type | t | ) |

inlinestaticconstexprnoexcept

## nodes() [1/2]

WayNodeList & osmium::Way::nodes | ( |  | ) |

inline

## nodes() [2/2]

const WayNodeList & osmium::Way::nodes | ( |  | ) | const

inline

## update_node_location()

void osmium::Way::update_node_location | ( | const NodeRef & | new_node_ref | ) |

inline

Update all nodes in a way with the ID of the given NodeRef with the location of the given NodeRef.

## Friends And Related Symbol Documentation

## osmium::builder::OSMObjectBuilder

template<typename TDerived, typename T>

friend class osmium::builder::OSMObjectBuilder

friend

## Member Data Documentation

## itemtype

osmium::item_type osmium::Way::itemtype = osmium::item_type::way

staticconstexpr

The documentation for this class was generated from the following file:

- include/osmium/osm/way.hpp