KOSMIndoorMap

o5m.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2023 Volker Krause <vkrause@kde.org>
3 SPDX-License-Identifier: LGPL-2.0-or-later
4*/
5
6#ifndef OSM_O5M_H
7#define OSM_O5M_H
8
9#include <cstdint>
10
11/** @file o5m.h
12 * Common declarations for O5M file format I/O.
13 */
14
15namespace OSM {
16
17enum : uint8_t {
18 O5M_BLOCK_RESET = 0xff,
19 O5M_BLOCK_NODE = 0x10,
20 O5M_BLOCK_WAY = 0x11,
21 O5M_BLOCK_RELATION = 0x12,
22 O5M_BLOCK_BOUNDING_BOX = 0xdb,
23 O5M_BLOCK_TIMESTAMP = 0xdc,
24 O5M_BLOCK_HEADER = 0xe0,
25
26 O5M_NUMBER_CONTINUATION = 0b1000'0000,
27 O5M_NUMBER_MASK = 0b0111'1111,
28 O5M_NUMBER_SIGNED_BIT = 0b1,
29
30 O5M_MEMTYPE_NODE = 0x30,
31 O5M_MEMTYPE_WAY = 0x31,
32 O5M_MEMTYPE_RELATION = 0x32,
33
34 O5M_TRAILER = 0xfe,
35};
36
37enum : uint16_t {
38 O5M_STRING_TABLE_SIZE = 15000,
39 O5M_STRING_TABLE_MAXLEN = 250,
40};
41
42constexpr inline const char O5M_HEADER[] = "o5m2";
43
44}
45
46#endif
Low-level types and functions to work with raw OSM data as efficiently as possible.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 3 2024 11:50:52 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.