7 , id(operator_->id.value.value)
8 , expression(
Expression(operator_->expression.value.value,attributeRegistry))
9 , attributeRegistry(attributeRegistry)
10 , attribute(getAttribute())
15template <
typename DataType>
23Attribute* Operator::getAttribute()
const {
27 throw std::runtime_error(
"Operator: expression is not an assignment");
void setValue(const Attribute *attribute, Values &status, Values &data, Values &globals, std::optional< BPMNOS::number > value) const
bool isImmutable
Flag indicating whether attribute value may be changed by operator, choice, or intermediate catch eve...
Class representing a mathematical expression.
const LIMEX::Expression< double > compiled
std::optional< BPMNOS::number > execute(const BPMNOS::Values &status, const DataType &data, const BPMNOS::Values &globals) const
const Expression expression
Attribute * attribute
The status or data attribute to be modified by the operator.
Operator(XML::bpmnos::tOperator *operator_, const AttributeRegistry &attributeRegistry)
void apply(BPMNOS::Values &status, DataType &data, BPMNOS::Values &globals) const
const AttributeRegistry & attributeRegistry