Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Member Functions | Private Member Functions | List of all members
osmium::builder::RelationMemberListBuilder Class Reference

#include <osm_object_builder.hpp>

Inheritance diagram for osmium::builder::RelationMemberListBuilder:
Inheritance graph
[legend]
Collaboration diagram for osmium::builder::RelationMemberListBuilder:
Collaboration graph
[legend]

Public Member Functions

 RelationMemberListBuilder (osmium::memory::Buffer &buffer, Builder *parent=nullptr)
 
 RelationMemberListBuilder (Builder &parent)
 
 RelationMemberListBuilder (const RelationMemberListBuilder &)=delete
 
RelationMemberListBuilderoperator= (const RelationMemberListBuilder &)=delete
 
 RelationMemberListBuilder (RelationMemberListBuilder &&)=delete
 
RelationMemberListBuilderoperator= (RelationMemberListBuilder &&)=delete
 
 ~RelationMemberListBuilder ()
 
void add_member (osmium::item_type type, object_id_type ref, const char *role, const std::size_t role_length, const osmium::OSMObject *full_member=nullptr)
 
void add_member (osmium::item_type type, object_id_type ref, const char *role, const osmium::OSMObject *full_member=nullptr)
 
void add_member (osmium::item_type type, object_id_type ref, const std::string &role, const osmium::OSMObject *full_member=nullptr)
 
- Public Member Functions inherited from osmium::builder::Builder
 Builder (const Builder &)=delete
 
 Builder (Builder &&)=delete
 
Builderoperator= (const Builder &)=delete
 
Builderoperator= (Builder &&)=delete
 
osmium::memory::Buffer & buffer () noexcept
 Return the buffer this builder is using. More...
 
void add_item (const osmium::memory::Item &item)
 

Private Member Functions

void add_role (osmium::RelationMember &member, const char *role, const std::size_t length)
 

Additional Inherited Members

- Protected Member Functions inherited from osmium::builder::Builder
 Builder (osmium::memory::Buffer &buffer, Builder *parent, osmium::memory::item_size_type size)
 
 ~Builder () noexcept
 
unsigned char * item_pos () const noexcept
 
osmium::memory::Itemitem () const noexcept
 
unsigned char * reserve_space (std::size_t size)
 
void add_padding (bool self=false)
 
void add_size (osmium::memory::item_size_type size)
 
uint32_t size () const noexcept
 
template<typename T >
T * reserve_space_for ()
 
osmium::memory::item_size_type append (const char *data, const osmium::memory::item_size_type length)
 
osmium::memory::item_size_type append_with_zero (const char *data, const osmium::memory::item_size_type length)
 
osmium::memory::item_size_type append (const char *str)
 

Constructor & Destructor Documentation

◆ RelationMemberListBuilder() [1/4]

osmium::builder::RelationMemberListBuilder::RelationMemberListBuilder ( osmium::memory::Buffer &  buffer,
Builder parent = nullptr 
)
inlineexplicit

◆ RelationMemberListBuilder() [2/4]

osmium::builder::RelationMemberListBuilder::RelationMemberListBuilder ( Builder parent)
inlineexplicit

◆ RelationMemberListBuilder() [3/4]

osmium::builder::RelationMemberListBuilder::RelationMemberListBuilder ( const RelationMemberListBuilder )
delete

◆ RelationMemberListBuilder() [4/4]

osmium::builder::RelationMemberListBuilder::RelationMemberListBuilder ( RelationMemberListBuilder &&  )
delete

◆ ~RelationMemberListBuilder()

osmium::builder::RelationMemberListBuilder::~RelationMemberListBuilder ( )
inline

Member Function Documentation

◆ add_member() [1/3]

void osmium::builder::RelationMemberListBuilder::add_member ( osmium::item_type  type,
object_id_type  ref,
const char *  role,
const osmium::OSMObject full_member = nullptr 
)
inline

Add a member to the relation.

Parameters
typeThe type (node, way, or relation).
refThe ID of the member.
roleThe role of the member (\0 terminated string).
full_memberOptional pointer to the member object. If it is available a copy will be added to the relation.
Exceptions
std:length_errorIf role is longer than osmium::max_osm_string_length

◆ add_member() [2/3]

void osmium::builder::RelationMemberListBuilder::add_member ( osmium::item_type  type,
object_id_type  ref,
const char *  role,
const std::size_t  role_length,
const osmium::OSMObject full_member = nullptr 
)
inline

Add a member to the relation.

Parameters
typeThe type (node, way, or relation).
refThe ID of the member.
roleThe role of the member.
role_lengthLength of the role (without \0 termination).
full_memberOptional pointer to the member object. If it is available a copy will be added to the relation.
Exceptions
std:length_errorIf role_length is greater than osmium::max_osm_string_length

◆ add_member() [3/3]

void osmium::builder::RelationMemberListBuilder::add_member ( osmium::item_type  type,
object_id_type  ref,
const std::string &  role,
const osmium::OSMObject full_member = nullptr 
)
inline

Add a member to the relation.

Parameters
typeThe type (node, way, or relation).
refThe ID of the member.
roleThe role of the member.
full_memberOptional pointer to the member object. If it is available a copy will be added to the relation.
Exceptions
std:length_errorIf role is longer than osmium::max_osm_string_length

◆ add_role()

void osmium::builder::RelationMemberListBuilder::add_role ( osmium::RelationMember member,
const char *  role,
const std::size_t  length 
)
inlineprivate

Add role to buffer.

Parameters
memberRelation member object where the length of the role will be set.
roleThe role.
lengthLength of role (without \0 termination).
Exceptions
std:length_errorIf role is longer than osmium::max_osm_string_length

◆ operator=() [1/2]

RelationMemberListBuilder & osmium::builder::RelationMemberListBuilder::operator= ( const RelationMemberListBuilder )
delete

◆ operator=() [2/2]

RelationMemberListBuilder & osmium::builder::RelationMemberListBuilder::operator= ( RelationMemberListBuilder &&  )
delete

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