Libosmium
2.4.1
Fast and flexible C++ library for working with OpenStreetMap data
|
Namespace for everything in the Osmium library. More...
Namespaces | |
area | |
Code related to the building of areas (multipolygons) from relations. | |
builder | |
Classes for building OSM objects and other items in buffers. | |
config | |
diff_handler | |
Osmium diff handlers provide access to differences between OSM object versions. | |
experimental | |
Experimental code that is not "officially" supported. | |
geom | |
Everything related to geometry handling. | |
handler | |
Osmium handlers provide callbacks for OSM objects. | |
index | |
Indexing of OSM data, Locations, etc. | |
io | |
Everything related to input and output of OSM data. | |
memory | |
Memory management of items in buffers and iterators over this data. | |
osm_entity_bits | |
Bitfield for OSM entity types. | |
relations | |
Code related to the assembly of OSM relations. | |
tags | |
Code related to working with OSM tags. | |
thread | |
Threading-related low-level code. | |
util | |
Helpful utility classes and functions not strictly OSM related. | |
Typedefs | |
typedef DiffObjectDerived < osmium::Node > | DiffNode |
typedef DiffObjectDerived < osmium::Way > | DiffWay |
typedef DiffObjectDerived < osmium::Relation > | DiffRelation |
typedef int64_t | object_id_type |
Type for OSM object (node, way, or relation) IDs. More... | |
typedef uint64_t | unsigned_object_id_type |
Type for OSM object (node, way, or relation) IDs where we only allow positive IDs. More... | |
typedef uint32_t | object_version_type |
Type for OSM object version number. More... | |
typedef uint32_t | changeset_id_type |
Type for OSM changeset IDs. More... | |
typedef uint32_t | user_id_type |
Type for OSM user IDs. More... | |
typedef int32_t | signed_user_id_type |
Type for signed OSM user IDs. More... | |
typedef uint32_t | num_changes_type |
Type for changeset num_changes. More... | |
typedef uint16_t | string_size_type |
Enumerations | |
enum | item_type : uint16_t { item_type::undefined = 0x00, item_type::node = 0x01, item_type::way = 0x02, item_type::relation = 0x03, item_type::area = 0x04, item_type::changeset = 0x05, item_type::tag_list = 0x11, item_type::way_node_list = 0x12, item_type::relation_member_list = 0x13, item_type::relation_member_list_with_full_members = 0x23, item_type::outer_ring = 0x40, item_type::inner_ring = 0x41 } |
Functions | |
template<class TIterator , class... THandlers> | |
void | apply_diff (TIterator it, TIterator end, THandlers &...handlers) |
template<class TSource , class... THandlers> | |
void | apply_diff (TSource &source, THandlers &...handlers) |
template<class... THandlers> | |
void | apply_diff (osmium::memory::Buffer &buffer, THandlers &...handlers) |
template<class... THandlers> | |
void | apply_diff (const osmium::memory::Buffer &buffer, THandlers &...handlers) |
osmium::object_id_type | object_id_to_area_id (osmium::object_id_type id, osmium::item_type type) noexcept |
osmium::object_id_type | area_id_to_object_id (osmium::object_id_type id) noexcept |
OSMIUM_CONSTEXPR bool | operator== (const Box &lhs, const Box &rhs) noexcept |
template<typename TChar , typename TTraits > | |
std::basic_ostream< TChar, TTraits > & | operator<< (std::basic_ostream< TChar, TTraits > &out, const osmium::Box &box) |
bool | operator== (const Changeset &lhs, const Changeset &rhs) |
bool | operator!= (const Changeset &lhs, const Changeset &rhs) |
bool | operator< (const Changeset &lhs, const Changeset &rhs) |
bool | operator> (const Changeset &lhs, const Changeset &rhs) |
bool | operator<= (const Changeset &lhs, const Changeset &rhs) |
bool | operator>= (const Changeset &lhs, const Changeset &rhs) |
item_type | nwr_index_to_item_type (unsigned int i) noexcept |
unsigned int | item_type_to_nwr_index (item_type type) noexcept |
item_type | char_to_item_type (const char c) noexcept |
char | item_type_to_char (const item_type type) noexcept |
const char * | item_type_to_name (const item_type type) noexcept |
template<typename TChar , typename TTraits > | |
std::basic_ostream< TChar, TTraits > & | operator<< (std::basic_ostream< TChar, TTraits > &out, const item_type item_type) |
OSMIUM_CONSTEXPR bool | operator== (const Location &lhs, const Location &rhs) noexcept |
OSMIUM_CONSTEXPR bool | operator!= (const Location &lhs, const Location &rhs) noexcept |
OSMIUM_CONSTEXPR bool | operator< (const Location &lhs, const Location &rhs) noexcept |
OSMIUM_CONSTEXPR bool | operator> (const Location &lhs, const Location &rhs) noexcept |
OSMIUM_CONSTEXPR bool | operator<= (const Location &lhs, const Location &rhs) noexcept |
OSMIUM_CONSTEXPR bool | operator>= (const Location &lhs, const Location &rhs) noexcept |
template<typename TChar , typename TTraits > | |
std::basic_ostream< TChar, TTraits > & | operator<< (std::basic_ostream< TChar, TTraits > &out, const osmium::Location &location) |
bool | operator== (const NodeRef &lhs, const NodeRef &rhs) noexcept |
bool | operator!= (const NodeRef &lhs, const NodeRef &rhs) noexcept |
bool | operator< (const NodeRef &lhs, const NodeRef &rhs) noexcept |
bool | operator> (const NodeRef &lhs, const NodeRef &rhs) noexcept |
bool | operator<= (const NodeRef &lhs, const NodeRef &rhs) noexcept |
bool | operator>= (const NodeRef &lhs, const NodeRef &rhs) noexcept |
template<typename TChar , typename TTraits > | |
std::basic_ostream< TChar, TTraits > & | operator<< (std::basic_ostream< TChar, TTraits > &out, const osmium::NodeRef &nr) |
bool | operator== (const OSMObject &lhs, const OSMObject &rhs) noexcept |
bool | operator!= (const OSMObject &lhs, const OSMObject &rhs) noexcept |
bool | operator< (const OSMObject &lhs, const OSMObject &rhs) noexcept |
bool | operator> (const OSMObject &lhs, const OSMObject &rhs) noexcept |
bool | operator<= (const OSMObject &lhs, const OSMObject &rhs) noexcept |
bool | operator>= (const OSMObject &lhs, const OSMObject &rhs) noexcept |
OSMIUM_CONSTEXPR bool | operator== (const Segment &lhs, const Segment &rhs) noexcept |
Segments are equal if both their locations are equal. More... | |
OSMIUM_CONSTEXPR bool | operator!= (const Segment &lhs, const Segment &rhs) noexcept |
template<typename TChar , typename TTraits > | |
std::basic_ostream< TChar, TTraits > & | operator<< (std::basic_ostream< TChar, TTraits > &out, const osmium::Segment &segment) |
bool | operator== (const Tag &a, const Tag &b) |
bool | operator< (const Tag &a, const Tag &b) |
template<typename TChar , typename TTraits > | |
std::basic_ostream< TChar, TTraits > & | operator<< (std::basic_ostream< TChar, TTraits > &out, const Tag &tag) |
OSMIUM_CONSTEXPR Timestamp | start_of_time () noexcept |
OSMIUM_CONSTEXPR Timestamp | end_of_time () noexcept |
template<typename TChar , typename TTraits > | |
std::basic_ostream< TChar, TTraits > & | operator<< (std::basic_ostream< TChar, TTraits > &out, Timestamp timestamp) |
template<> | |
osmium::Timestamp | min_op_start_value< osmium::Timestamp > () |
template<> | |
osmium::Timestamp | max_op_start_value< osmium::Timestamp > () |
object_id_type | string_to_object_id (const char *input) |
std::pair< osmium::item_type, osmium::object_id_type > | string_to_object_id (const char *input, osmium::osm_entity_bits::type types) |
object_version_type | string_to_object_version (const char *input) |
changeset_id_type | string_to_changeset_id (const char *input) |
signed_user_id_type | string_to_user_id (const char *input) |
num_changes_type | string_to_num_changes (const char *input) |
bool | operator< (const UndirectedSegment &lhs, const UndirectedSegment &rhs) noexcept |
bool | operator> (const UndirectedSegment &lhs, const UndirectedSegment &rhs) noexcept |
bool | operator<= (const UndirectedSegment &lhs, const UndirectedSegment &rhs) noexcept |
bool | operator>= (const UndirectedSegment &lhs, const UndirectedSegment &rhs) noexcept |
template<typename TChar , typename TTraits > | |
std::basic_ostream< TChar, TTraits > & | operator<< (std::basic_ostream< TChar, TTraits > &out, const osmium::UndirectedSegment &segment) |
template<typename T , typename F , typename std::enable_if< are_real_integers< T, F >::value &&std::is_same< T, F >::value, int >::type = 0> | |
T | static_cast_with_assert (const F value) |
template<typename T , typename F > | |
T | static_cast_with_assert (const F value) |
template<typename T > | |
T | min_op_start_value () |
template<typename T > | |
T | max_op_start_value () |
std::vector< std::string > | split_string (const std::string &str, const char sep, bool compact=false) |
std::vector< std::string > | split_string (const std::string &str, const char *sep, bool compact=false) |
template<class... THandlers> | |
void | apply_item (const osmium::memory::Item &item, THandlers &...handlers) |
template<class... THandlers> | |
void | apply_item (osmium::memory::Item &item, THandlers &...handlers) |
template<class TIterator , class... THandlers> | |
void | apply (TIterator it, TIterator end, THandlers &...handlers) |
template<class TContainer , class... THandlers> | |
void | apply (TContainer &c, THandlers &...handlers) |
template<class... THandlers> | |
void | apply (const osmium::memory::Buffer &buffer, THandlers &...handlers) |
Variables | |
constexpr const int | max_osm_string_length = 256 * 4 |
Namespace for everything in the Osmium library.
typedef uint32_t osmium::changeset_id_type |
Type for OSM changeset IDs.
typedef DiffObjectDerived<osmium::Way> osmium::DiffWay |
typedef uint32_t osmium::num_changes_type |
Type for changeset num_changes.
typedef int64_t osmium::object_id_type |
Type for OSM object (node, way, or relation) IDs.
typedef uint32_t osmium::object_version_type |
Type for OSM object version number.
typedef int32_t osmium::signed_user_id_type |
Type for signed OSM user IDs.
typedef uint16_t osmium::string_size_type |
Size for strings in OSM data such as user names, tag keys, roles, etc. In Osmium they can be up to 2^16 bytes long, but OSM usually has lower defined limits.
typedef uint64_t osmium::unsigned_object_id_type |
Type for OSM object (node, way, or relation) IDs where we only allow positive IDs.
typedef uint32_t osmium::user_id_type |
Type for OSM user IDs.
|
strong |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Return index for item_type: node -> 0, way -> 1, relation -> 2
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
Return item_type for index: 0 -> node, 1 -> way, 2 -> relation
|
inlinenoexcept |
Convert way or (multipolygon) relation id into unique area id.
id | Id of a way or relation |
type | Type of object (way or relation) |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
UndirectedSegments are "smaller" if they are to the left and down of another segment. The first() location is checked first() and only if they have the same first() location the second() location is taken into account.
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
Compare two locations by comparing first the x and then the y coordinate. If either of the locations is undefined the result is undefined.
|
inline |
Changesets can be ordered by id.
|
inlinenoexcept |
OSMObjects can be ordered by type, id and version. Note that we use the absolute value of the id for a better ordering of objects with negative id.
|
inline |
Output UndirectedSegment to a stream.
|
inline |
Output Segment to a stream.
|
inline |
Output a Tag to a stream.
|
inline |
Output a NodeRef to a stream.
|
inline |
|
inline |
|
inline |
Output a box to a stream. The format is "(LON, LAT, LON, LAT)" or "(undefined)" if the box is undefined.
|
inline |
Output a location to a stream.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
Segments are equal if both their locations are equal.
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
Boxes are equal if both locations are equal. Undefined boxes will compare equal.
|
inlinenoexcept |
Locations are equal if both coordinates are equal.
|
inline |
Changesets are equal if their IDs are equal.
|
inlinenoexcept |
OSMObjects are equal if their type, id, and version are equal.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inline |
Split string on the separator character.
str | The string to be split. |
sep | The separator character. |
compact | Set this to true to remove empty strings from result |
|
inline |
Split string on the separator character(s).
str | The string to be split. |
sep | The separator character(s). |
compact | Set this to true to remove empty strings from result |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
constexpr const int osmium::max_osm_string_length = 256 * 4 |