9 #ifndef CLUON_TOCSVVISITOR_HPP    10 #define CLUON_TOCSVVISITOR_HPP    56     ToCSVVisitor(
char delimiter = 
';', 
bool withHeader = 
true, 
const std::map<uint32_t, bool> &mask = {}) noexcept;
    68     ToCSVVisitor(
const std::string &prefix, 
char delimiter, 
bool withHeader, 
bool isNested) noexcept;
    74     std::string csv() 
const noexcept;
    79     void clear() noexcept;
    85     void preVisit(int32_t 
id, 
const std::string &shortName, 
const std::string &longName) noexcept;
    86     void postVisit() noexcept;
    88     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, 
bool &v) noexcept;
    89     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, 
char &v) noexcept;
    90     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, int8_t &v) noexcept;
    91     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, uint8_t &v) noexcept;
    92     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, int16_t &v) noexcept;
    93     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, uint16_t &v) noexcept;
    94     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, int32_t &v) noexcept;
    95     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, uint32_t &v) noexcept;
    96     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, int64_t &v) noexcept;
    97     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, uint64_t &v) noexcept;
    98     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, 
float &v) noexcept;
    99     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, 
double &v) noexcept;
   100     void visit(uint32_t 
id, std::string &&typeName, std::string &&name, std::string &v) noexcept;
   102     template <
typename T>
   103     void visit(uint32_t &
id, std::string &&typeName, std::string &&name, T &value) noexcept {
   106         if ((0 == m_mask.count(
id)) || m_mask[
id]) {
   107             constexpr 
bool IS_NESTED{
true};
   108             ToCSVVisitor csvVisitor(name, m_delimiter, m_withHeader, IS_NESTED);
   109             value.accept(csvVisitor);
   112                 m_bufferHeader << csvVisitor.m_bufferHeader.str();
   114             m_bufferValues << csvVisitor.m_bufferValues.str();
   119     std::map<uint32_t, bool> m_mask{};
   120     std::string m_prefix{};
   121     char m_delimiter{
';'};
   122     bool m_withHeader{
true};
   123     bool m_isNested{
false};
   124     bool m_fillHeader{
true};
   125     std::stringstream m_bufferHeader{};
   126     std::stringstream m_bufferValues{};
 void visit(uint32_t &id, std::string &&typeName, std::string &&name, T &value) noexcept
Definition: ToCSVVisitor.hpp:103
 
#define LIBCLUON_API
Definition: cluon.hpp:56
 
Definition: ToCSVVisitor.hpp:38