OSM::DataSet

Search for usage in LXR

#include <datatypes.h>

Public Member Functions

 DataSet (const DataSet &)=delete
 
 DataSet (DataSet &&other) noexcept
 
void addNode (Node &&node)
 
void addRelation (Relation &&rel)
 
void addWay (Way &&way)
 
Role makeRole (const char *roleName, StringMemory memOpt=StringMemory::Transient)
 
TagKey makeTagKey (const char *keyName, StringMemory keyMemOpt=StringMemory::Transient)
 
Id nextInternalId () const
 
const Nodenode (Id id) const
 
DataSetoperator= (const DataSet &)=delete
 
DataSetoperator= (DataSet &&) noexcept
 
const Relationrelation (Id id) const
 
Role role (const char *roleName) const
 
TagKey tagKey (const char *keyName) const
 
Wayway (Id id)
 
const Wayway (Id id) const
 

Public Attributes

std::vector< Nodenodes
 
std::vector< Relationrelations
 
std::vector< Wayways
 

Detailed Description

A set of nodes, ways and relations.

Definition at line 340 of file datatypes.h.

Member Function Documentation

◆ addNode()

void DataSet::addNode ( Node && node)

Definition at line 73 of file datatypes.cpp.

◆ addRelation()

void DataSet::addRelation ( Relation && rel)

Definition at line 93 of file datatypes.cpp.

◆ addWay()

void DataSet::addWay ( Way && way)

Definition at line 83 of file datatypes.cpp.

◆ makeRole()

Role DataSet::makeRole ( const char * roleName,
OSM::StringMemory memOpt = StringMemory::Transient )

Creates a role name key.

See also
makeTagKey()

Definition at line 22 of file datatypes.cpp.

◆ makeTagKey()

TagKey DataSet::makeTagKey ( const char * keyName,
OSM::StringMemory keyMemOpt = StringMemory::Transient )

Create a tag key for the given tag name.

If none exist yet a new one is created. Use this for creating tags, not for lookup, prefer tagKey() for that.

Parameters
keyMemOptspecifies whether keyName is persisent for the lifetime of this instance and thus can be used without requiring a copy. If the memory is transient the string is copied if needed, and released in the DataSet destructor.

Definition at line 17 of file datatypes.cpp.

◆ nextInternalId()

OSM::Id DataSet::nextInternalId ( ) const

Create a unique id for internal use (ie.

one that will not clash with official OSM ids).

Definition at line 103 of file datatypes.cpp.

◆ node()

const Node * DataSet::node ( Id id) const

Find a node by its id.

Returns
nullptr if the node doesn't exist.

Definition at line 37 of file datatypes.cpp.

◆ relation()

const Relation * DataSet::relation ( Id id) const

Find a relation by its id.

Returns
nullptr if the relation doesn't exist.

Definition at line 64 of file datatypes.cpp.

◆ role()

Role DataSet::role ( const char * roleName) const

Looks up a role name key.

See also
tagKey()

Definition at line 32 of file datatypes.cpp.

◆ tagKey()

TagKey DataSet::tagKey ( const char * keyName) const

Look up a tag key for the given tag name, if it exists.

If no key exists, an empty/invalid/null key is returned. Use this for tag lookup, not for creating/adding tags.

Definition at line 27 of file datatypes.cpp.

◆ way() [1/2]

Way * DataSet::way ( Id id)

Definition at line 55 of file datatypes.cpp.

◆ way() [2/2]

const Way * DataSet::way ( Id id) const

Find a way by its id.

Returns
nullptr if the way doesn't exist.

Definition at line 46 of file datatypes.cpp.

Member Data Documentation

◆ nodes

std::vector<Node> OSM::DataSet::nodes

Definition at line 396 of file datatypes.h.

◆ relations

std::vector<Relation> OSM::DataSet::relations

Definition at line 398 of file datatypes.h.

◆ ways

std::vector<Way> OSM::DataSet::ways

Definition at line 397 of file datatypes.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sun Feb 25 2024 18:46:39 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.