|
BPMN-OS
BPMN for optimization and simulation
|
Definition at line 29 of file FlattenedGraph.h.
#include <FlattenedGraph.h>
Public Types | |
| enum class | Type { ENTRY , EXIT } |
Public Member Functions | |
| Vertex (FlattenedGraph *graph, BPMNOS::number rootId, BPMNOS::number instanceId, std::vector< size_t > loopIndices, const BPMN::Node *node, Type type, std::optional< std::pair< Vertex *, Vertex * > > parent) | |
| Vertex ()=delete | |
| Vertex (const Vertex &)=delete | |
| Vertex & | operator= (const Vertex &)=delete |
| Vertex (Vertex &&)=delete | |
| Vertex & | operator= (Vertex &&)=delete |
| const Vertex * | performer () const |
| Container holding all entry vertices of nodes owning at least one data attribute. | |
| size_t | dataOwnerIndex (const BPMNOS::Model::Attribute *attribute) const |
| Returns the entry vertex of the performer of a sequential activity vertex. | |
| std::pair< const Vertex *, const Vertex * > | dataOwner (const BPMNOS::Model::Attribute *attribute) const |
| Returns the index of the data owner of an attribute. | |
| std::string | reference () const |
| Returns the vertices of the owner of a data attribute. | |
| std::string | shortReference () const |
| Returns a unique reference of the vertex. | |
| nlohmann::ordered_json | jsonify () const |
| Returns a reference of the vertex excluding the type. | |
| template<typename T > | |
| bool | entry () const |
| template<typename T > | |
| bool | exit () const |
Public Attributes | |
| FlattenedGraph * | graph |
| const size_t | index |
| const BPMNOS::number | rootId |
| const BPMNOS::number | instanceId |
| const std::vector< size_t > | loopIndices |
| const BPMN::Node * | node |
| const Type | type |
| std::optional< std::pair< Vertex *, Vertex * > > | parent |
| std::vector< std::pair< const BPMN::SequenceFlow *, Vertex * > > | inflows |
| Parent vertices. | |
| std::vector< std::pair< const BPMN::SequenceFlow *, Vertex * > > | outflows |
| Container holding vertices connecting by an incoming sequence flow, for loop activities the sequence flow may be a nullptr. | |
| std::vector< Vertex * > | predecessors |
| Container holding vertices connecting by an outgoing sequence flow, for loop activities the sequence flow may be a nullptr. | |
| std::vector< Vertex * > | successors |
| Container holding predecessors according to the execution logic (excl. sequence flows) | |
| std::vector< Vertex * > | senders |
| Container holding successors according to the execution logic (excl. sequence flows) | |
| std::vector< Vertex * > | recipients |
| Container holding all possible vertices sending a message (or the message delivery notification for a SendTask) | |
| std::vector< Vertex * > | dataOwners |
| Container holding all possible vertices receiving a message (or the message delivery notification for a SendTask) | |
|
strong |
| Enumerator | |
|---|---|
| ENTRY | |
| EXIT | |
Definition at line 31 of file FlattenedGraph.h.
| FlattenedGraph::Vertex::Vertex | ( | FlattenedGraph * | graph, |
| BPMNOS::number | rootId, | ||
| BPMNOS::number | instanceId, | ||
| std::vector< size_t > | loopIndices, | ||
| const BPMN::Node * | node, | ||
| Type | type, | ||
| std::optional< std::pair< Vertex *, Vertex * > > | parent ) |
Definition at line 17 of file FlattenedGraph.cpp.
|
delete |
|
delete |
|
delete |
| std::pair< const FlattenedGraph::Vertex *, const FlattenedGraph::Vertex * > FlattenedGraph::Vertex::dataOwner | ( | const BPMNOS::Model::Attribute * | attribute | ) | const |
Definition at line 75 of file FlattenedGraph.cpp.
| size_t FlattenedGraph::Vertex::dataOwnerIndex | ( | const BPMNOS::Model::Attribute * | attribute | ) | const |
Definition at line 61 of file FlattenedGraph.cpp.
|
inline |
Definition at line 61 of file FlattenedGraph.h.
|
inline |
Definition at line 63 of file FlattenedGraph.h.
| nlohmann::ordered_json FlattenedGraph::Vertex::jsonify | ( | ) | const |
Definition at line 92 of file FlattenedGraph.cpp.
| const FlattenedGraph::Vertex * FlattenedGraph::Vertex::performer | ( | ) | const |
Definition at line 33 of file FlattenedGraph.cpp.
| std::string FlattenedGraph::Vertex::reference | ( | ) | const |
Definition at line 80 of file FlattenedGraph.cpp.
| std::string FlattenedGraph::Vertex::shortReference | ( | ) | const |
Definition at line 84 of file FlattenedGraph.cpp.
| std::vector< Vertex* > BPMNOS::Execution::FlattenedGraph::Vertex::dataOwners |
Definition at line 53 of file FlattenedGraph.h.
| FlattenedGraph* BPMNOS::Execution::FlattenedGraph::Vertex::graph |
Definition at line 39 of file FlattenedGraph.h.
| const size_t BPMNOS::Execution::FlattenedGraph::Vertex::index |
Definition at line 40 of file FlattenedGraph.h.
| std::vector< std::pair<const BPMN::SequenceFlow*, Vertex*> > BPMNOS::Execution::FlattenedGraph::Vertex::inflows |
Definition at line 47 of file FlattenedGraph.h.
| const BPMNOS::number BPMNOS::Execution::FlattenedGraph::Vertex::instanceId |
Definition at line 42 of file FlattenedGraph.h.
| const std::vector< size_t > BPMNOS::Execution::FlattenedGraph::Vertex::loopIndices |
Definition at line 43 of file FlattenedGraph.h.
| const BPMN::Node* BPMNOS::Execution::FlattenedGraph::Vertex::node |
Definition at line 44 of file FlattenedGraph.h.
| std::vector< std::pair<const BPMN::SequenceFlow*, Vertex*> > BPMNOS::Execution::FlattenedGraph::Vertex::outflows |
Definition at line 48 of file FlattenedGraph.h.
Definition at line 46 of file FlattenedGraph.h.
| std::vector< Vertex* > BPMNOS::Execution::FlattenedGraph::Vertex::predecessors |
Definition at line 49 of file FlattenedGraph.h.
| std::vector< Vertex* > BPMNOS::Execution::FlattenedGraph::Vertex::recipients |
Definition at line 52 of file FlattenedGraph.h.
| const BPMNOS::number BPMNOS::Execution::FlattenedGraph::Vertex::rootId |
Definition at line 41 of file FlattenedGraph.h.
| std::vector< Vertex* > BPMNOS::Execution::FlattenedGraph::Vertex::senders |
Definition at line 51 of file FlattenedGraph.h.
| std::vector< Vertex* > BPMNOS::Execution::FlattenedGraph::Vertex::successors |
Definition at line 50 of file FlattenedGraph.h.
| const Type BPMNOS::Execution::FlattenedGraph::Vertex::type |
Definition at line 45 of file FlattenedGraph.h.