Loading...
Searching...
No Matches
osmium::builder::RelationMemberListBuilder Class Reference

`#include <osm_object_builder.hpp>`

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

## Public Member Functions

| RelationMemberListBuilder (osmium::memory::Buffer &buffer, Builder *parent=nullptr)
| RelationMemberListBuilder (Builder &parent)
| RelationMemberListBuilder (const RelationMemberListBuilder &)=delete
RelationMemberListBuilder & | operator= (const RelationMemberListBuilder &)=delete
| RelationMemberListBuilder (RelationMemberListBuilder &&)=delete
RelationMemberListBuilder & | operator= (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
Builder & | operator= (const Builder &)=delete
Builder & | operator= (Builder &&)=delete
osmium::memory::Buffer & | buffer () noexcept
| Return the buffer this builder is using.
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::Item & | item () 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`
| ) |  |

inline explicit

## RelationMemberListBuilder() [2/4]

osmium::builder::RelationMemberListBuilder::RelationMemberListBuilder | ( | Builder & | parent | ) |

inline explicit

## 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

  type | The type (node, way, or relation).
  ref | The ID of the member.
  role | The role of the member (\0 terminated string).
  full_member | Optional pointer to the member object. If it is available a copy will be added to the relation.

Exceptions

  std:length_error | If 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

  type | The type (node, way, or relation).
  ref | The ID of the member.
  role | The role of the member.
  role_length | Length of the role (without \0 termination).
  full_member | Optional pointer to the member object. If it is available a copy will be added to the relation.

Exceptions

  std:length_error | If 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

  type | The type (node, way, or relation).
  ref | The ID of the member.
  role | The role of the member.
  full_member | Optional pointer to the member object. If it is available a copy will be added to the relation.

Exceptions

  std:length_error | If 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
| ) |  |

inline private

Add role to buffer.

Parameters

  member | Relation member object where the length of the role will be set.
  role | The role.
  length | Length of role (without \0 termination).

Exceptions

  std:length_error | If 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:

- include/osmium/builder/osm_object_builder.hpp