9 #ifndef CLUON_TOODVDVISITOR_HPP 10 #define CLUON_TOODVDVISITOR_HPP 53 std::string messageSpecification()
const noexcept;
59 void preVisit(int32_t
id,
const std::string &shortName,
const std::string &longName) noexcept;
60 void postVisit() noexcept;
62 void visit(uint32_t
id, std::string &&typeName, std::string &&name,
bool &v) noexcept;
63 void visit(uint32_t
id, std::string &&typeName, std::string &&name,
char &v) noexcept;
64 void visit(uint32_t
id, std::string &&typeName, std::string &&name, int8_t &v) noexcept;
65 void visit(uint32_t
id, std::string &&typeName, std::string &&name, uint8_t &v) noexcept;
66 void visit(uint32_t
id, std::string &&typeName, std::string &&name, int16_t &v) noexcept;
67 void visit(uint32_t
id, std::string &&typeName, std::string &&name, uint16_t &v) noexcept;
68 void visit(uint32_t
id, std::string &&typeName, std::string &&name, int32_t &v) noexcept;
69 void visit(uint32_t
id, std::string &&typeName, std::string &&name, uint32_t &v) noexcept;
70 void visit(uint32_t
id, std::string &&typeName, std::string &&name, int64_t &v) noexcept;
71 void visit(uint32_t
id, std::string &&typeName, std::string &&name, uint64_t &v) noexcept;
72 void visit(uint32_t
id, std::string &&typeName, std::string &&name,
float &v) noexcept;
73 void visit(uint32_t
id, std::string &&typeName, std::string &&name,
double &v) noexcept;
74 void visit(uint32_t
id, std::string &&typeName, std::string &&name, std::string &v) noexcept;
77 void visit(uint32_t &
id, std::string &&typeName, std::string &&name, T &value) noexcept {
79 std::string tmp{std::regex_replace(typeName, std::regex(
"::"),
".")};
82 value.accept(odvdVisitor);
83 m_forwardDeclarations.emplace(m_forwardDeclarations.begin(), odvdVisitor.
messageSpecification());
85 m_buffer <<
" " << tmp <<
' ' << name <<
" [ id = " <<
id <<
" ];" <<
'\n';
86 }
catch (std::regex_error &) {
91 std::vector<std::string> m_forwardDeclarations{};
92 std::stringstream m_buffer{};
std::string messageSpecification() const noexcept
Definition: ToODVDVisitor.cpp:15
#define LIBCLUON_API
Definition: cluon.hpp:56
Definition: ToODVDVisitor.hpp:40
void visit(uint32_t &id, std::string &&typeName, std::string &&name, T &value) noexcept
Definition: ToODVDVisitor.hpp:77