9 #ifndef CLUON_TOMSGPACKVISITOR_HPP 10 #define CLUON_TOMSGPACKVISITOR_HPP 37 std::string encodedData()
const noexcept;
43 void preVisit(int32_t
id,
const std::string &shortName,
const std::string &longName) noexcept;
44 void postVisit() noexcept;
46 void visit(uint32_t
id, std::string &&typeName, std::string &&name,
bool &v) noexcept;
47 void visit(uint32_t
id, std::string &&typeName, std::string &&name,
char &v) noexcept;
48 void visit(uint32_t
id, std::string &&typeName, std::string &&name, int8_t &v) noexcept;
49 void visit(uint32_t
id, std::string &&typeName, std::string &&name, uint8_t &v) noexcept;
50 void visit(uint32_t
id, std::string &&typeName, std::string &&name, int16_t &v) noexcept;
51 void visit(uint32_t
id, std::string &&typeName, std::string &&name, uint16_t &v) noexcept;
52 void visit(uint32_t
id, std::string &&typeName, std::string &&name, int32_t &v) noexcept;
53 void visit(uint32_t
id, std::string &&typeName, std::string &&name, uint32_t &v) noexcept;
54 void visit(uint32_t
id, std::string &&typeName, std::string &&name, int64_t &v) noexcept;
55 void visit(uint32_t
id, std::string &&typeName, std::string &&name, uint64_t &v) noexcept;
56 void visit(uint32_t
id, std::string &&typeName, std::string &&name,
float &v) noexcept;
57 void visit(uint32_t
id, std::string &&typeName, std::string &&name,
double &v) noexcept;
58 void visit(uint32_t
id, std::string &&typeName, std::string &&name, std::string &v) noexcept;
61 void visit(uint32_t &
id, std::string &&typeName, std::string &&name, T &value) noexcept {
65 encode(m_buffer, name);
68 value.accept(nestedMsgPackEncoder);
69 const std::string tmp{nestedMsgPackEncoder.
encodedData()};
70 const uint32_t LENGTH{
static_cast<uint32_t
>(tmp.size())};
71 m_buffer.write(tmp.c_str(),
static_cast<std::streamsize
>(LENGTH));
77 void encode(std::ostream &o,
const std::string &s);
78 void encodeUint(std::ostream &o, uint64_t v);
79 void encodeInt(std::ostream &o, int64_t v);
82 uint32_t m_numberOfFields{0};
83 std::stringstream m_buffer{
""};
Definition: ToMsgPackVisitor.hpp:23
#define LIBCLUON_API
Definition: cluon.hpp:56
void visit(uint32_t &id, std::string &&typeName, std::string &&name, T &value) noexcept
Definition: ToMsgPackVisitor.hpp:61
std::string encodedData() const noexcept
Definition: ToMsgPackVisitor.cpp:22