KOSMIndoorMap
            
 
   10#include "kosm_export.h" 
   11#include "abstractreader.h" 
   27class KOSM_EXPORT O5mParser : 
public AbstractReader
 
   30    explicit O5mParser(
DataSet *dataSet);
 
   33    void readFromData(
const uint8_t *data, std::size_t len) 
override;
 
   35    friend class ::O5mParserTest;
 
   37    [[nodiscard]] uint64_t readUnsigned(
const uint8_t *&it, 
const uint8_t *endIt) 
const;
 
   38    [[nodiscard]] int64_t readSigned(
const uint8_t *&it, 
const uint8_t *endIt) 
const;
 
   40    [[nodiscard]] T readDelta(
const uint8_t *&it, 
const uint8_t *endIt, T &deltaState);
 
   42    [[nodiscard]] 
const char* readString(
const uint8_t *&it, 
const uint8_t *endIt);
 
   43    [[nodiscard]] std::pair<const char*, const char*> readStringPair(
const uint8_t *&it, 
const uint8_t *endIt);
 
   45    void skipVersionInformation(
const uint8_t *&it, 
const uint8_t *end);
 
   46    template <
typename Elem>
 
   47    void readTagOrBbox(Elem &e, 
const uint8_t *&it, 
const uint8_t *endIt);
 
   49    void readNode(
const uint8_t *begin, 
const uint8_t *end);
 
   50    void readWay(
const uint8_t *begin, 
const uint8_t *end);
 
   51    void readRelation(
const uint8_t *begin, 
const uint8_t *end);
 
   54    void resetDeltaCodingState();
 
   56    int64_t m_nodeIdDelta = 0;
 
   57    int32_t m_latDelata = 0; 
 
   58    int32_t m_lonDelta = 0;
 
   60    int64_t m_wayIdDelta = 0;
 
   61    int64_t m_wayNodeIdDelta = 0;
 
   63    int64_t m_relIdDelta = 0;
 
   64    int64_t m_relNodeMemberIdDelta = 0;
 
   65    int64_t m_relWayMemberIdDelta = 0;
 
   66    int64_t m_relRelMemberIdDelta = 0;
 
   68    std::vector<const char*> m_stringLookupTable;
 
   69    uint16_t m_stringLookupPosition = 0;
 
 
Holds OSM elements produced by a parser prior to merging into OSM::DataSet.
 
A set of nodes, ways and relations.
 
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-2025 The KDE developers.
  Generated on Fri May 2 2025 12:04:00 by
  
doxygen 1.13.2 written
  by 
Dimitri van Heesch, © 1997-2006
  
  KDE's Doxygen guidelines are available online.