Hedgehog  3.1.0
A library to generate hybrid pipeline workflow systems
Loading...
Searching...
No Matches
hh::core::implementor::DefaultMultiExecutes< Inputs > Class Template Reference

Default concrete implementation for different typed execution method for tasks. More...

#include "default_multi_executes.h"

Inheritance diagram for hh::core::implementor::DefaultMultiExecutes< Inputs >:
Inheritance graph
Collaboration diagram for hh::core::implementor::DefaultMultiExecutes< Inputs >:
Collaboration graph

Public Member Functions

template<class MultiExecute >
requires (std::is_base_of_v<behavior::Execute<Inputs>, MultiExecute> && ...)
 DefaultMultiExecutes (MultiExecute *const multiExecutesNode)
 Constructor using an user-defined node capable of doing computation (inheriting from behavior::Execute for all Inputs types)
 
 ~DefaultMultiExecutes () override=default
 Default destructor.
 
- Public Member Functions inherited from hh::core::implementor::DefaultExecute< Inputs >
 DefaultExecute (behavior::Execute< Inputs > *const executeNode)
 Constructor needing a behavior::Execute implementation (user-defined implementation of behavior::Execute)
 
virtual ~DefaultExecute ()=default
 Default destructor.
 
void execute (std::shared_ptr< Inputs > data) override
 Interface to user defined execute method (behavior::Execute)
 
- Public Member Functions inherited from hh::core::implementor::ImplementorExecute< Input >
 ImplementorExecute ()=default
 Default constructor.
 
virtual ~ImplementorExecute ()=default
 Default destructor.
 
virtual void execute (std::shared_ptr< Input > data)=0
 Execute method for a piece of data.
 

Detailed Description

template<class ... Inputs>
class hh::core::implementor::DefaultMultiExecutes< Inputs >

Default concrete implementation for different typed execution method for tasks.

Template Parameters
InputsInput data types

Definition at line 19 of file default_multi_executes.h.

Constructor & Destructor Documentation

◆ DefaultMultiExecutes()

template<class ... Inputs>
template<class MultiExecute >
requires (std::is_base_of_v<behavior::Execute<Inputs>, MultiExecute> && ...)
hh::core::implementor::DefaultMultiExecutes< Inputs >::DefaultMultiExecutes ( MultiExecute *const  multiExecutesNode)
inlineexplicit

Constructor using an user-defined node capable of doing computation (inheriting from behavior::Execute for all Inputs types)

Template Parameters
MultiExecuteType of the user-defined node
Parameters
multiExecutesNodeuser-defined node capable of doing computation (inheriting from behavior::Execute for all Inputs types)

Definition at line 28 of file default_multi_executes.h.

◆ ~DefaultMultiExecutes()

template<class ... Inputs>
hh::core::implementor::DefaultMultiExecutes< Inputs >::~DefaultMultiExecutes ( )
overridedefault

Default destructor.