26#include <SimoxUtility/meta/type_name.h>
41 std::pair<std::vector<std::pair<std::string, std::string>>,
bool>
44 if (
auto def =
type.getDefaultValue(); def.has_value())
46 return {{{name, std::to_string(*def)}},
true};
53 const std::string& accessor,
55 std::string& variantAccessor)
const
61 std::string defaultValue =
type.getDefaultValue().has_value()
62 ? std::to_string(*
type.getDefaultValue())
68 simox::alg::join(p.
getPath(),
", ") +
"})); // of " + typeAccessor);
75 CppBlockPtr block_if_data = std::make_shared<CppBlock>();
76 block_if_data->addLine(cppAccessor +
" = 0;");
83 auto block_if_data = std::make_shared<CppBlock>();
84 block_if_data->addLine(cppAccessor +
" = 0;");
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
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