BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
tGuidance.h
Go to the documentation of this file.
1#ifndef XML_bpmnos_tGuidance_H
2#define XML_bpmnos_tGuidance_H
3#include <memory>
4#include <optional>
5#include <vector>
6
7#include "../XMLObject.h"
8#include "tAttributes.h"
9#include "tOperators.h"
10#include "tRestrictions.h"
11
12/**
13 * @brief The `XML::bpmnos` namespace contains classes from the following XML-schema(s): @ref xsd/BPMNOS.xsd.
14 */
15namespace XML::bpmnos {
16
17class tAttributes;
18class tOperators;
19class tRestrictions;
20
21/**
22 * Overview:
23 * - Element name: tGuidance
24 * - XML-Schema: xsd/BPMNOS.xsd
25 * - XML-Namespace: https://bpmnos.telematique.eu
26 *
27 * Members:
28 * - type : string [1..1]
29 * - attributes : tAttributes [0..1]
30 * - operators : tOperators [0..1]
31 * - restrictions : tRestrictions [0..1]
32 *
33 * Automatically generated by schematic++ v0.4.0 (https://github.com/rajgoel/schematicpp)
34 */
35class tGuidance : public XMLObject {
36 template<typename T> friend XMLObject* ::XML::createInstance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element);
37private:
38 static bool registerClass() {
39 XMLObject::factory["https://bpmnos.telematique.eu:tGuidance"] = &createInstance<tGuidance>; // register function in factory
40 return true;
41 };
42 inline static bool registered = registerClass();
43protected:
44 tGuidance(const Namespace& xmlns, const ClassName& className, const xercesc::DOMElement* element, const Attributes& defaultAttributes);
45
46public:
47 /// default attributes to be used if they are not explicitly provided
48 inline static const Attributes defaults = {
49 };
50
51 Attribute& type; ///< Attribute value can be expected to be of type 'std::string'
52 std::optional< std::reference_wrapper<tAttributes> > attributes;
53 std::optional< std::reference_wrapper<tOperators> > operators;
54 std::optional< std::reference_wrapper<tRestrictions> > restrictions;
55};
56
57} // namespace XML::bpmnos
58
59#endif // XML_bpmnos_tGuidance_H
A class representing a node in an XML-tree.
Definition XMLObject.h:115
const ClassName className
Definition bpmn++.h:244
static Factory factory
Definition bpmn++.h:156
Namespace xmlns
Definition bpmn++.h:243
Attribute & type
Attribute value can be expected to be of type 'std::string'.
Definition tGuidance.h:51
friend XMLObject * XML::createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
tGuidance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element, const Attributes &defaultAttributes)
Definition tGuidance.cpp:6
static const Attributes defaults
default attributes to be used if they are not explicitly provided
Definition tGuidance.h:48
std::optional< std::reference_wrapper< tRestrictions > > restrictions
Definition tGuidance.h:54
std::optional< std::reference_wrapper< tOperators > > operators
Definition tGuidance.h:53
std::optional< std::reference_wrapper< tAttributes > > attributes
Definition tGuidance.h:52
The XML::bpmnos namespace contains classes from the following XML-schema(s): xsd/BPMNOS....
Definition attribute.h:13
std::string Namespace
Definition bpmn++.h:25
std::string ClassName
Definition bpmn++.h:22
XMLObject * createInstance(const Namespace &xmlns, const ClassName &className, const xercesc::DOMElement *element)
Template function used to store in factory.
Definition bpmn++.h:85
std::vector< Attribute > Attributes
Definition bpmn++.h:81
A struct representing an attribute of an XML-node.
Definition XMLObject.h:73