TinyURDF 1.0.0
Loading...
Searching...
No Matches
property_parser.h
Go to the documentation of this file.
1#ifndef INCLUDE_TINYURDF_COMMON_PROPERTY_PARSER_H_
2#define INCLUDE_TINYURDF_COMMON_PROPERTY_PARSER_H_
3
4// Copyright 2025 Wissem CHIHA
5
6#include <string>
7#include <unordered_map>
8#include <loguru/loguru.hpp>
10#include "utility/utils.h"
11
35template <typename T>
36class PropertyParser : public ParserBase<std::unordered_map<std::string, T>> {
37public:
40 std::string toString() const override;
41 bool empty() const override;
42 void clear() override;
43 const char* getTypename() const override;
44 bool isA(const char* name) const override;
45 void parse(const tinyxml2::XMLElement* xml);
46 std::shared_ptr<std::unordered_map<std::string, T>> get() override;
47
48private:
49 std::shared_ptr<std::unordered_map<std::string, T>> p_;
50};
51#endif // INCLUDE_TINYURDF_COMMON_PROPERTY_PARSER_H_
Definition parser_base.h:12
A basic parser for general property value definitions in XML. Parses a single XML element where a pro...
Definition property_parser.h:36
PropertyParser()
Definition property_parser.cc:4
bool isA(const char *name) const override
Definition property_parser.cc:41
std::string toString() const override
Definition property_parser.cc:12
void parse(const tinyxml2::XMLElement *xml)
Definition property_parser.cc:46
std::shared_ptr< std::unordered_map< std::string, T > > get() override
Definition property_parser.cc:65
~PropertyParser()
Definition property_parser.cc:9
void clear() override
Definition property_parser.cc:31
const char * getTypename() const override
Definition property_parser.cc:36
bool empty() const override
Definition property_parser.cc:26