Go to the documentation of this file.
27 #include <SimoxUtility/algorithm/string/string_conversion.h>
41 for (
const auto& t : o.elementTypes)
50 if (acceptedTypes.empty())
58 std::vector<VariantPtr>
67 return i < acceptedTypes.size();
73 return acceptedTypes[i];
79 this->acceptedTypes = acceptedTypes;
80 for (
const auto& acceptedType : acceptedTypes)
82 aron->elementTypes.push_back(acceptedType->toAronDTO());
90 this->
aron->elementTypes.push_back(v->toAronDTO());
91 acceptedTypes.push_back(
v);
95 std::vector<VariantPtr>
104 return acceptedTypes.size();
110 std::vector<std::string>
names;
111 for (
const auto& n : acceptedTypes)
113 names.push_back(n->getShortName());
121 std::vector<std::string>
names;
122 for (
const auto& n : acceptedTypes)
124 names.push_back(n->getFullName());
132 return "armarx::aron::type::Tuple";
147 __PRETTY_FUNCTION__,
"Could not navigate without a valid path",
path);
151 for (
unsigned int i = 0; i < acceptedTypes.size(); ++i)
157 return acceptedTypes[i];
162 return acceptedTypes[i]->navigateAbsolute(next);
167 __PRETTY_FUNCTION__,
"Could not find an element of a path.", el,
path);
std::string getFirstElement() const
A base class for aron exceptions.
std::shared_ptr< Variant > VariantPtr
static VariantPtr FromAronDTO(const type::dto::GenericType &, const Path &=Path())
create a variant object from an dto object
Path withAcceptedTypeIndex(int, bool escape=false) const
#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...
std::shared_ptr< class Tuple > TuplePtr
bool hasAcceptedType(unsigned int i) const
VariantPtr navigateAbsolute(const Path &path) const override
naviate absolute
The ValueNotValidException class.
Tuple(const Path &path=Path())
type::dto::Tuple ::PointerType aron
std::vector< VariantPtr > getAcceptedTypes() const
void setAcceptedTypes(const std::vector< VariantPtr > &)
std::vector< VariantPtr > getChildren() const override
get all child elements
std::string getShortName() const override
get a short name of this specific type
A convenience header to include all aron files (full include, not forward declared)
const std::string & to_string(const std::string &s)
double v(double t, double v0, double a0, double j)
std::string getFullName() const override
get the full name of this specific type
const simox::meta::IntEnumNames names
type::dto::TuplePtr toTupleDTO() const
Path withDetachedFirstElement() const
size_t childrenSize() const override
VariantPtr getAcceptedType(unsigned int i) const
void addAcceptedType(const VariantPtr &)
static std::string GetFullNamePrefix()
static std::string GetNamePrefix()