BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
BPMNOS::Execution::FlattenedGraph::Vertex Class Reference

Detailed Description

Definition at line 24 of file FlattenedGraph.h.

#include <FlattenedGraph.h>

Public Types

enum class  Type { ENTRY , EXIT }
 

Public Member Functions

 Vertex (size_t index, BPMNOS::number rootId, BPMNOS::number instanceId, const BPMN::Node *node, Type type, std::optional< std::pair< Vertex &, Vertex & > > parent)
 
 Vertex ()=delete
 
 Vertex (const Vertex &)=delete
 
Vertexoperator= (const Vertex &)=delete
 
 Vertex (Vertex &&)=delete
 
Vertexoperator= (Vertex &&)=delete
 
std::pair< const Vertex &, const Vertex & > performer () const
 Container holding all entry vertices of nodes owning at least one data attribute.
 
std::pair< const Vertex &, const Vertex & > dataOwner (const BPMNOS::Model::Attribute *attribute) const
 Returns the vertices of the performer of a sequential activity vertex.
 
std::string reference () const
 Returns the vertices of the owner of a data attribute.
 
template<typename T >
bool entry () const
 Returns a unique reference of the vertex.
 
template<typename T >
bool exit () const
 

Public Attributes

const size_t index
 
const BPMNOS::number rootId
 
const BPMNOS::number instanceId
 
const BPMN::Nodenode
 
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.
 
std::vector< std::reference_wrapper< Vertex > > predecessors
 Container holding vertices connecting by an outgoing sequence flow.
 
std::vector< std::reference_wrapper< Vertex > > successors
 Container holding predecessors according to the execution logic (excl. sequence flows)
 
std::vector< std::reference_wrapper< Vertex > > senders
 Container holding successors according to the execution logic (excl. sequence flows)
 
std::vector< std::reference_wrapper< Vertex > > recipients
 Container holding all possible vertices sending a message (or the message delivery notfication for a SendTask)
 
std::vector< std::reference_wrapper< Vertex > > dataOwners
 Container holding all possible vertices receiving a message (or the message delivery notfication for a SendTask)
 

Member Enumeration Documentation

◆ Type

Enumerator
ENTRY 
EXIT 

Definition at line 26 of file FlattenedGraph.h.

Constructor & Destructor Documentation

◆ Vertex() [1/4]

FlattenedGraph::Vertex::Vertex ( size_t index,
BPMNOS::number rootId,
BPMNOS::number instanceId,
const BPMN::Node * node,
Type type,
std::optional< std::pair< Vertex &, Vertex & > > parent )

Definition at line 11 of file FlattenedGraph.cpp.

◆ Vertex() [2/4]

BPMNOS::Execution::FlattenedGraph::Vertex::Vertex ( )
delete

◆ Vertex() [3/4]

BPMNOS::Execution::FlattenedGraph::Vertex::Vertex ( const Vertex & )
delete

◆ Vertex() [4/4]

BPMNOS::Execution::FlattenedGraph::Vertex::Vertex ( Vertex && )
delete

Member Function Documentation

◆ dataOwner()

std::pair< const FlattenedGraph::Vertex &, const FlattenedGraph::Vertex & > FlattenedGraph::Vertex::dataOwner ( const BPMNOS::Model::Attribute * attribute) const

Definition at line 59 of file FlattenedGraph.cpp.

◆ entry()

template<typename T >
bool BPMNOS::Execution::FlattenedGraph::Vertex::entry ( ) const
inline

Definition at line 52 of file FlattenedGraph.h.

◆ exit()

template<typename T >
bool BPMNOS::Execution::FlattenedGraph::Vertex::exit ( ) const
inline

Definition at line 54 of file FlattenedGraph.h.

◆ operator=() [1/2]

Vertex & BPMNOS::Execution::FlattenedGraph::Vertex::operator= ( const Vertex & )
delete

◆ operator=() [2/2]

Vertex & BPMNOS::Execution::FlattenedGraph::Vertex::operator= ( Vertex && )
delete

◆ performer()

std::pair< const FlattenedGraph::Vertex &, const FlattenedGraph::Vertex & > FlattenedGraph::Vertex::performer ( ) const

Definition at line 42 of file FlattenedGraph.cpp.

◆ reference()

std::string FlattenedGraph::Vertex::reference ( ) const

Definition at line 75 of file FlattenedGraph.cpp.

Member Data Documentation

◆ dataOwners

std::vector< std::reference_wrapper<Vertex> > BPMNOS::Execution::FlattenedGraph::Vertex::dataOwners

Definition at line 46 of file FlattenedGraph.h.

◆ index

const size_t BPMNOS::Execution::FlattenedGraph::Vertex::index

Definition at line 34 of file FlattenedGraph.h.

◆ inflows

std::vector< std::pair<const BPMN::SequenceFlow*, Vertex&> > BPMNOS::Execution::FlattenedGraph::Vertex::inflows

Definition at line 40 of file FlattenedGraph.h.

◆ instanceId

const BPMNOS::number BPMNOS::Execution::FlattenedGraph::Vertex::instanceId

Definition at line 36 of file FlattenedGraph.h.

◆ node

const BPMN::Node* BPMNOS::Execution::FlattenedGraph::Vertex::node

Definition at line 37 of file FlattenedGraph.h.

◆ outflows

std::vector< std::pair<const BPMN::SequenceFlow*, Vertex&> > BPMNOS::Execution::FlattenedGraph::Vertex::outflows

Definition at line 41 of file FlattenedGraph.h.

◆ parent

std::optional< std::pair<Vertex&, Vertex&> > BPMNOS::Execution::FlattenedGraph::Vertex::parent

Definition at line 39 of file FlattenedGraph.h.

◆ predecessors

std::vector< std::reference_wrapper<Vertex> > BPMNOS::Execution::FlattenedGraph::Vertex::predecessors

Definition at line 42 of file FlattenedGraph.h.

◆ recipients

std::vector< std::reference_wrapper<Vertex> > BPMNOS::Execution::FlattenedGraph::Vertex::recipients

Definition at line 45 of file FlattenedGraph.h.

◆ rootId

const BPMNOS::number BPMNOS::Execution::FlattenedGraph::Vertex::rootId

Definition at line 35 of file FlattenedGraph.h.

◆ senders

std::vector< std::reference_wrapper<Vertex> > BPMNOS::Execution::FlattenedGraph::Vertex::senders

Definition at line 44 of file FlattenedGraph.h.

◆ successors

std::vector< std::reference_wrapper<Vertex> > BPMNOS::Execution::FlattenedGraph::Vertex::successors

Definition at line 43 of file FlattenedGraph.h.

◆ type

const Type BPMNOS::Execution::FlattenedGraph::Vertex::type

Definition at line 38 of file FlattenedGraph.h.


The documentation for this class was generated from the following files: