BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
Parameter.h
Go to the documentation of this file.
1#ifndef BPMNOS_Model_Parameter_H
2#define BPMNOS_Model_Parameter_H
3
4#include <memory>
5#include <vector>
6#include <unordered_map>
7#include <string>
8#include <optional>
9#include <variant>
10#include <bpmn++.h>
12#include "Attribute.h"
13#include "Expression.h"
14#include "AttributeRegistry.h"
15
16namespace BPMNOS::Model {
17
18class Parameter {
19public:
20 Parameter(XML::bpmnos::tParameter* parameter, const AttributeRegistry& attributeRegistry);
22
23 std::string& name;
24 std::unique_ptr<const Expression> expression;
25/*
26 std::optional< std::reference_wrapper<Attribute> > attribute;
27 std::optional< std::reference_wrapper<XML::Value> > value;
28*/
29protected:
30 std::unique_ptr<const Expression> getExpression(XML::bpmnos::tParameter* parameter, const AttributeRegistry& attributeRegistry) const;
31// std::optional< std::reference_wrapper<Attribute> > getAttribute(const AttributeRegistry& attributeRegistry) const;
32};
33
34typedef std::unordered_map< std::string, std::unique_ptr<Parameter> > ParameterMap;
35
36} // namespace BPMNOS::Model
37
38#endif // BPMNOS_Model_Parameter_H
XML::bpmnos::tParameter * element
Definition Parameter.h:21
std::unique_ptr< const Expression > getExpression(XML::bpmnos::tParameter *parameter, const AttributeRegistry &attributeRegistry) const
Definition Parameter.cpp:15
std::unique_ptr< const Expression > expression
Definition Parameter.h:24
Parameter(XML::bpmnos::tParameter *parameter, const AttributeRegistry &attributeRegistry)
Definition Parameter.cpp:8
std::unordered_map< std::string, std::unique_ptr< Parameter > > ParameterMap
Definition Parameter.h:34