BPMN-OS
BPMN for optimization and simulation
Loading...
Searching...
No Matches
BPMN::Node Class Reference

Base class for all nodes in a BPMN model. More...

Detailed Description

The Node class encapsulates the information and relationships associated with a node in a BPMN process. It can represent both a BPMN process itself or a flow node within a process.

Definition at line 16444 of file bpmn++.h.

#include <bpmn++.h>

Inheritance diagram for BPMN::Node:

Public Member Functions

 Node (XML::bpmn::tBaseElement *element)
 Constructs a Node object representing a BPMN process or flow node.
 
Nodefind (std::function< bool(Node *)> condition)
 Returns the first node found matching a given condition.
 
const Nodefind (std::function< bool(const Node *)> condition) const
 Returns the first node found matching a given condition.
 
std::vector< Node * > find_all (std::function< bool(Node *)> condition)
 Returns all nodes matching a given condition.
 
std::vector< const Node * > find_all (std::function< bool(const Node *)> condition) const
 Returns all nodes matching a given condition.
 
- Public Member Functions inherited from BPMN::BaseElement
 BaseElement (XML::bpmn::tBaseElement *element)
 Constructs a BaseElement object representing a BPMN element.
 
template<typename T >
T * is ()
 Attempts to return the element in the specified type T.
 
template<typename T >
const T * is () const
 Attempts to return the element in the specified type T.
 
template<typename T = XML::bpmn::tBaseElement>
T * get ()
 Casts the element to the specified type T.
 
template<typename T = XML::bpmn::tBaseElement>
const T * get () const
 Casts the element to the specified type T.
 
- Public Member Functions inherited from BPMN::Element
virtual ~Element ()=default
 
template<typename T >
T * represents ()
 Attempts to cast the element to the specified type T.
 
template<typename T >
const T * represents () const
 Attempts to cast the element to the specified type T.
 
template<typename T >
T * as ()
 Casts the element to the specified type T.
 
template<typename T >
const T * as () const
 Casts the element to the specified type T.
 

Public Attributes

std::vector< MessageFlow * > receiving
 Vector containing all message flows going in to the node.
 
std::vector< MessageFlow * > sending
 Vector containing all message flows going out of the node.
 
- Public Attributes inherited from BPMN::BaseElement
XML::bpmn::tBaseElementelement
 
std::string id
 Id of element.
 
std::unique_ptr< ExtensionElementsextensionElements
 

Friends

class Model
 

Constructor & Destructor Documentation

◆ Node()

BPMN::Node::Node ( XML::bpmn::tBaseElement * element)

Member Function Documentation

◆ find() [1/2]

const Node * BPMN::Node::find ( std::function< bool(const Node *)> condition) const
Returns
A pointer to a node matching condition, or nullptr if no such node exists

◆ find() [2/2]

Node * BPMN::Node::find ( std::function< bool(Node *)> condition)
Returns
A pointer to a node matching condition, or nullptr if no such node exists

◆ find_all() [1/2]

std::vector< const Node * > BPMN::Node::find_all ( std::function< bool(const Node *)> condition) const
Returns
A vector of pointers to nodes matching condition

◆ find_all() [2/2]

std::vector< Node * > BPMN::Node::find_all ( std::function< bool(Node *)> condition)
Returns
A vector of pointers to nodes matching condition

Friends And Related Symbol Documentation

◆ Model

friend class Model
friend

Definition at line 16445 of file bpmn++.h.

Member Data Documentation

◆ receiving

std::vector< MessageFlow* > BPMN::Node::receiving

Definition at line 16451 of file bpmn++.h.

◆ sending

std::vector< MessageFlow* > BPMN::Node::sending

Definition at line 16454 of file bpmn++.h.


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