#pragma once #include #include #include #include #include namespace osmp { class Node; class Way; class Relation; class Object { public: Object(const std::string& file); ~Object(); std::vector> GetNodes() const; size_t GetNodesSize() const; std::shared_ptr GetNode(unsigned int id) const; std::vector> GetWays() const; size_t GetWaysSize() const; std::shared_ptr GetWay(unsigned int id) const; std::vector> GetRelations() const; size_t GetRelationsSize() const; std::shared_ptr GetRelation(unsigned int id) const; public: const std::string version; const std::string generator; Bounds bounds; private: std::map> nodes; std::map> ways; std::map> relations; }; }