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 <loguru/loguru.hpp>
7#include <string>
8#include <unordered_map>
9
10#include "common/parser_base.h"
11#include "utility/utils.h"
12
37template <typename T>
38class PropertyParser : public ParserBase<std::unordered_map<std::string, T>>
39{
40 public:
43 std::string toString() const override;
44 bool empty() const override;
45 void clear() override;
46 const char* getTypename() const override;
47 bool isA(const char* name) const override;
48 void parse(const tinyxml2::XMLElement* xml);
49 std::shared_ptr<std::unordered_map<std::string, T>> get() override;
50
51 private:
52 std::shared_ptr<std::unordered_map<std::string, T>> p_;
53};
54#endif // INCLUDE_TINYURDF_COMMON_PROPERTY_PARSER_H_
Definition parser_base.h:15
A basic parser for general property value definitions in XML. Parses a single XML element where a pro...
Definition property_parser.h:39
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