Libosmium
2.11.1
Fast and flexible C++ library for working with OpenStreetMap data
|
#include <osm_object_builder.hpp>
Public Member Functions | |
OSMObjectBuilder (osmium::memory::Buffer &buffer, Builder *parent=nullptr) | |
T & | object () noexcept |
TDerived & | set_user (const char *user, const string_size_type length) |
TDerived & | set_user (const char *user) |
TDerived & | set_user (const std::string &user) |
template<typename... TArgs> | |
OSMIUM_DEPRECATED void | add_user (TArgs &&...args) |
void | add_tags (const std::initializer_list< std::pair< const char *, const char * >> &tags) |
![]() | |
osmium::memory::Buffer & | buffer () noexcept |
Return the buffer this builder is using. More... | |
void | add_item (const osmium::memory::Item &item) |
OSMIUM_DEPRECATED void | add_item (const osmium::memory::Item *item) |
Private Types | |
using | type = TDerived |
Static Private Attributes | |
static constexpr const size_t | min_size_for_user = osmium::memory::padded_length(sizeof(string_size_type) + 1) |
Additional Inherited Members | |
![]() | |
Builder (osmium::memory::Buffer &buffer, Builder *parent, osmium::memory::item_size_type size) | |
~Builder () noexcept | |
osmium::memory::Item & | item () const |
unsigned char * | reserve_space (size_t size) |
void | add_padding (bool self=false) |
void | add_size (uint32_t 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) |
OSMIUM_DEPRECATED osmium::memory::item_size_type | append_zero () |
|
private |
|
inlineexplicit |
|
inline |
|
inline |
|
inlinenoexcept |
Get a reference to the object buing built.
Note that this reference will be invalidated by every action on the builder that might make the buffer grow. This includes calls to set_user() and any time a new sub-builder is created.
|
inline |
Set user name.
user | Pointer to user name. |
length | Length of user name (without \0 termination). |
|
inline |
Set user name.
user | Pointer to \0-terminated user name. |
|
inline |
Set user name.
user | User name. |
|
staticprivate |