9 #ifndef CLUON_TOPROTOVISITOR_HPP    10 #define CLUON_TOPROTOVISITOR_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 {
    67         value.accept(nestedProtoEncoder);
    68         encode(m_buffer, std::move(nestedProtoEncoder.
encodedData()));
    72     std::size_t encode(std::ostream &o, 
bool &v) noexcept;
    73     std::size_t encode(std::ostream &o, int8_t &v) noexcept;
    74     std::size_t encode(std::ostream &o, uint8_t &v) noexcept;
    75     std::size_t encode(std::ostream &o, int16_t &v) noexcept;
    76     std::size_t encode(std::ostream &o, uint16_t &v) noexcept;
    77     std::size_t encode(std::ostream &o, int32_t &v) noexcept;
    78     std::size_t encode(std::ostream &o, uint32_t &v) noexcept;
    79     std::size_t encode(std::ostream &o, int64_t &v) noexcept;
    80     std::size_t encode(std::ostream &o, uint64_t &v) noexcept;
    81     std::size_t encode(std::ostream &o, 
float &v) noexcept;
    82     std::size_t encode(std::ostream &o, 
double &v) noexcept;
    83     std::size_t encode(std::ostream &o, 
const std::string &v) noexcept;
    86     uint8_t toZigZag8(int8_t v) noexcept;
    87     uint16_t toZigZag16(int16_t v) noexcept;
    88     uint32_t toZigZag32(int32_t v) noexcept;
    89     uint64_t toZigZag64(int64_t v) noexcept;
    98     std::size_t toVarInt(std::ostream &out, uint64_t v) noexcept;
   107     template <
typename T>
   111         size += toVarInt(m_buffer, key);
   112         size += encode(m_buffer, v);
   123     uint64_t encodeKey(uint32_t fieldIdentifier, uint8_t protoType) noexcept;
   126     std::stringstream m_buffer{
""};
 
mf fieldIdentifier((!_fieldIdentifier.empty() ? static_cast< uint32_t >(std::stoi(::stringtoolbox::trim(_fieldIdentifier))) :fieldIdentifierCounter))
 
#define LIBCLUON_API
Definition: cluon.hpp:56
 
std::string encodedData() const noexcept
Definition: ToProtoVisitor.cpp:15
 
void visit(uint32_t &id, std::string &&typeName, std::string &&name, T &value) noexcept
Definition: ToProtoVisitor.hpp:61
 
Definition: ToProtoVisitor.hpp:23