Libosmium  2.1.0
Fast and flexible C++ library for working with OpenStreetMap data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 ()
 
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::ObjectBuilder< RelationMemberList >
 ObjectBuilder (osmium::memory::Buffer &buffer, Builder *parent=nullptr)
 
RelationMemberListobject () noexcept
 
void add_user (const char *user, const string_size_type length)
 
void add_user (const char *user)
 
void add_user (const std::string &user)
 
- Public Member Functions inherited from osmium::builder::Builder
void add_padding (bool self=false)
 
void add_size (uint32_t size)
 
uint32_t size () const noexcept
 
void add_item (const osmium::memory::Item *item)
 
template<class 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 (const char *str)
 
osmium::memory::Bufferbuffer () noexcept
 Return the buffer this builder is using. More...
 

Private Member Functions

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

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 ()=default
 
osmium::memory::Itemitem () const
 

Constructor & Destructor Documentation

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

Member Function Documentation

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.
full_memberOptional pointer to the member object. If it is available a copy will be added to the relation.
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.
void osmium::builder::RelationMemberListBuilder::add_role ( osmium::RelationMember member,
const char *  role,
const string_size_type  length 
)
inlineprivate

Add role to buffer.

Parameters
memberRelation member object where the length of the role will be set.
roleThe role.
lengthLength of role string including \0 termination.
void osmium::builder::RelationMemberListBuilder::add_role ( osmium::RelationMember member,
const char *  role 
)
inlineprivate

Add role to buffer.

Parameters
memberRelation member object where the length of the role will be set.
role\0-terminated role.
void osmium::builder::RelationMemberListBuilder::add_role ( osmium::RelationMember member,
const std::string &  role 
)
inlineprivate

Add role to buffer.

Parameters
memberRelation member object where the length of the role will be set.
roleRole.

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