1#ifndef BPMNOS_Model_Expression_H
2#define BPMNOS_Model_Expression_H
25 std::optional<const Attribute*>
target;
30 template <
typename DataType>
33 LIMEX::Expression<double> getExpression(
const std::string& input)
const;
Class representing a mathematical expression.
const AttributeRegistry & attributeRegistry
Expression(const std::string expression, const AttributeRegistry &attributeRegistry, bool newTarget=false)
const Attribute * isAttribute() const
Returns pointer to the attribute if and only if expression contains nothing else.
std::set< const Attribute * > inputs
Vector containing all input attributes and collections used by the expression.
std::optional< const Attribute * > target
const LIMEX::Expression< double > compiled
std::vector< const Attribute * > variables
Vector containing all input attributes used by the expression.
const std::string expression
std::vector< const Attribute * > collections
Vector containing all input collections used by the expression.
std::optional< BPMNOS::number > execute(const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const