Libosmium  2.16.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Friends | List of all members
osmium::Way Class Reference

#include <way.hpp>

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

Public Member Functions

WayNodeListnodes ()
 
const WayNodeListnodes () 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. More...
 
unsigned_object_id_type positive_id () const noexcept
 Get absolute value of the ID of this object. More...
 
OSMObjectset_id (object_id_type id) noexcept
 
OSMObjectset_id (const char *id)
 
bool deleted () const noexcept
 Is this object marked as deleted? More...
 
bool visible () const noexcept
 Is this object marked visible (ie not deleted)? More...
 
OSMObjectset_deleted (bool deleted) noexcept
 
OSMObjectset_visible (bool visible) noexcept
 
OSMObjectset_visible (const char *visible)
 
object_version_type version () const noexcept
 Get version of this object. More...
 
OSMObjectset_version (object_version_type version) noexcept
 
OSMObjectset_version (const char *version)
 
changeset_id_type changeset () const noexcept
 Get changeset id of this object. More...
 
OSMObjectset_changeset (changeset_id_type changeset) noexcept
 
OSMObjectset_changeset (const char *changeset)
 
user_id_type uid () const noexcept
 Get user id of this object. More...
 
OSMObjectset_uid (user_id_type uid) noexcept
 
OSMObjectset_uid_from_signed (signed_user_id_type uid) noexcept
 
OSMObjectset_uid (const char *uid)
 
bool user_is_anonymous () const noexcept
 Is this user anonymous? More...
 
osmium::Timestamp timestamp () const noexcept
 Get timestamp when this object last changed. More...
 
OSMObjectset_timestamp (const osmium::Timestamp &timestamp) noexcept
 
OSMObjectset_timestamp (const char *timestamp)
 
const char * user () const noexcept
 Get user name for this object. More...
 
void clear_user () noexcept
 Clear user name. More...
 
const TagListtags () const
 Get the list of tags for this object. More...
 
const char * get_value_by_key (const char *key, const char *default_value=nullptr) const noexcept
 
OSMObjectset_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
 
Itemoperator= (const Item &)=delete
 
 Item (Item &&)=delete
 
Itemoperator= (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)
 
void set_user_size (string_size_type size)
 
- Protected Member Functions inherited from osmium::memory::Item
 Item (item_size_type size=0, item_type type=item_type{}) noexcept
 
Itemset_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()

static constexpr bool osmium::Way::is_compatible_to ( osmium::item_type  t)
inlinestaticnoexcept

◆ 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 Function Documentation

◆ osmium::builder::OSMObjectBuilder

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

Member Data Documentation

◆ itemtype

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

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