13 id = sequenceFlow->
id.has_value() ? (std::string)sequenceFlow->
id->get().value :
"";
17 for (
auto& flowNode : scope->
flowNodes ) {
18 if ( flowNode->get<>()->id.has_value() && nodeId == flowNode->get<>()->id->get().value.value ) {
23 throw std::runtime_error(
"SequenceFlow: cannot find node '" + nodeId +
"' within scope '" + scope->
id +
"'" );
std::string id
Id of element.
BaseElement(XML::bpmn::tBaseElement *element)
Constructs a BaseElement object representing a BPMN element.
Base class for BPMN elements that may contain incoming and outgoing sequence flows.
Base class for BPMN elements that may contain a ChildNode elements.
std::vector< FlowNode * > flowNodes
Vector containing pointers to all flow nodes within the scope of the nodes.
FlowNode * target
Reference to the target node of the sequence flow.
FlowNode * findNode(std::string &id, Scope *scope)
SequenceFlow(XML::bpmn::tSequenceFlow *sequenceFlow, Scope *scope)
XML::bpmn::tSequenceFlow * element
FlowNode * source
Reference to the source node of the sequence flow.
std::optional< std::reference_wrapper< Attribute > > id
Attribute value can be expected to be of type 'std::string'.
The BPMN namespace contains linked classes representing a BPMN model.