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;
25protected:
26 std::unique_ptr<const Expression> getExpression(XML::bpmnos::tParameter* parameter, const AttributeRegistry& attributeRegistry) const;
27};
28
29typedef std::unordered_map< std::string, std::unique_ptr<Parameter> > ParameterMap;
30
31} // namespace BPMNOS::Model
32
33#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:29