43 const std::optional<float>& importance)
46 output->setImportance(importance);
52 auto o = std::make_shared<data::List>(p);
53 for (
const auto& el : elements)
62 const std::optional<data::VariantPtr>& extends,
66 : std::make_shared<data::Dict>(p);
68 for (
const auto& [key, value] : elements)
70 o->addElement(key, value);
77 const std::string& typeAsString,
78 const unsigned char*
data,
81 auto o = std::make_shared<data::NDArray>(p);
83 o->setType(typeAsString);
87 : std::accumulate(std::begin(shape), std::end(shape), 1, std::multiplies<int>());
88 o->setData(
static_cast<unsigned int>(size),
data);
95 auto o = std::make_shared<data::Int>(p);
103 auto o = std::make_shared<data::Long>(p);
111 auto o = std::make_shared<data::Float>(p);
119 auto o = std::make_shared<data::Double>(p);
127 auto o = std::make_shared<data::String>(p);
135 auto o = std::make_shared<data::Bool>(p);
data::VariantPtr ReturnType
typename std::add_const< ReturnType >::type ReturnTypeConst
static PointerType DynamicCastAndCheck(const VariantPtr &n)
data::VariantPtr writeFloat(const float i, const Path &p=Path()) override
data::VariantPtr writeDouble(const double i, const Path &p=Path()) override
data::VariantPtr writeBool(const bool i, const Path &p=Path()) override
void writeImportance(ReturnType &output, const std::optional< float > &importance) final
data::VariantPtr writeList(const std::vector< data::VariantPtr > &elements, const Path &p=Path()) override
data::VariantPtr writeNDArray(const std::vector< int > &shape, const std::string &typeAsString, const unsigned char *data, const Path &p=Path()) override
data::VariantPtr writeString(const std::string &i, const Path &p=Path()) override
data::VariantPtr writeLong(const long i, const Path &p=Path()) override
data::Descriptor getDescriptor(ReturnTypeConst &input) final
data::VariantPtr writeInt(const int i, const Path &p=Path()) override
data::VariantPtr writeDict(const std::map< std::string, data::VariantPtr > &elements, const std::optional< data::VariantPtr > &extends=std::nullopt, const Path &p=Path()) override
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
A convenience header to include all aron files (full include, not forward declared)
std::shared_ptr< Variant > VariantPtr
static data::Descriptor GetDescriptor(Input &n)