9 , element(sequenceFlow)
10 , source(findNode(sequenceFlow->sourceRef.value.value,scope))
11 , target(findNode(sequenceFlow->targetRef.value.value,scope))
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 +
"'" );
Base class for all core BPMN elements.
std::string id
Id of 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 * findNode(std::string &id, Scope *scope)
SequenceFlow(XML::bpmn::tSequenceFlow *sequenceFlow, Scope *scope)
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.