26#include <SimoxUtility/meta/type_name.h>
42 std::pair<std::vector<std::pair<std::string, std::string>>,
bool>
45 if (
auto def =
type.getDefaultValue(); def.has_value())
47 return {{{name,
"\"" + *def +
"\""}},
true};
54 const std::string& accessor,
56 std::string& variantAccessor)
const
62 std::string defaultValue =
type.getDefaultValue().has_value()
63 ? (
"\"" + *
type.getDefaultValue() +
"\"")
69 simox::alg::join(p.
getPath(),
", ") +
"})); // of " + typeAccessor);
76 CppBlockPtr block_if_data = std::make_shared<CppBlock>();
77 block_if_data->addLine(cppAccessor +
" = \"\";");
84 auto block_if_data = std::make_shared<CppBlock>();
85 block_if_data->addLine(cppAccessor +
" = \"\";");
std::vector< std::string > getPath() const
CppBlockPtr resolveMaybeResetHardBlock(const CppBlockPtr &, const std::string &) const
static std::string EscapeAccessor(const std::string &)
CppBlockPtr resolveMaybeResetSoftBlock(const CppBlockPtr &, const std::string &) const
static const std::string ARON_PATH_ACCESSOR
static const std::string ARON_WRITER_ACCESSOR
static const std::string ARON_VARIANT_RETURN_ACCESSOR
CppBlockPtr getResetHardBlock(const std::string &cppAccessor) const final
CppBlockPtr getWriteTypeBlock(const std::string &typeAccessor, const std::string &cppAccessor, const Path &p, std::string &variantAccessor) const final
String(const type::String &e)
std::pair< std::vector< std::pair< std::string, std::string > >, bool > getCtorInitializers(const std::string &) const final
CppBlockPtr getResetSoftBlock(const std::string &cppAccessor) const final
const std::map< type::Maybe, std::string > Maybe2CppString
A convenience header to include all aron files (full include, not forward declared)
std::shared_ptr< CppBlock > CppBlockPtr