1#ifndef BPMN_ExtensionElements_H
2#define BPMN_ExtensionElements_H
24 template<
class C,
class T> std::vector< std::reference_wrapper<T> >
get() {
26 if (
auto container =
element->template getOptionalChild<C>(); container.has_value() ) {
27 return container->get().template getChildren<T>();
30 return std::vector< std::reference_wrapper<T> >();
36 template<
class C,
class T> std::vector< std::reference_wrapper<const T> >
get()
const {
38 if (
auto container =
element->template getOptionalChild<const C>(); container.has_value() ) {
39 return container->get().template getChildren<const T>();
42 return std::vector< std::reference_wrapper<const T> >();
Base class for all core BPMN elements.
Abstract base class for all elements in a BPMN model.
Base class for extension elements that may be provided for a BPMN element.
BaseElement * baseElement
Reference to the base element the extension elements are bound to.
std::vector< std::reference_wrapper< const T > > get() const
Returns a vector of elements of type T embedded within a container of type T.
std::vector< std::reference_wrapper< T > > get()
Returns a vector of elements of type T embedded within a container of type T.
XML::bpmn::tExtensionElements * element
The BPMN namespace contains linked classes representing a BPMN model.