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

Default implementors for the sender abstraction, used by tasks or state managers. More...

#include "default_multi_senders.h"

Inheritance diagram for hh::core::implementor::DefaultMultiSenders< Outputs >:
Inheritance graph
Collaboration diagram for hh::core::implementor::DefaultMultiSenders< Outputs >:
Collaboration graph

Public Member Functions

 DefaultMultiSenders ()
 Default constructor.
 
 ~DefaultMultiSenders () override=default
 Default destructor.
 
- Public Member Functions inherited from hh::core::implementor::DefaultSender< Outputs >
 DefaultSender ()
 Default constructor.
 
virtual ~DefaultSender ()=default
 Default destructor.
 
std::set< abstraction::ReceiverAbstraction< Outputs > * > const & connectedReceivers () const override
 Accessor to the connected receivers.
 
void addReceiver (abstraction::ReceiverAbstraction< Outputs > *receiver) override
 Add a receiver to the list.
 
void removeReceiver (abstraction::ReceiverAbstraction< Outputs > *receiver) override
 Remove a receiver to the list.
 
void send (std::shared_ptr< Outputs > data) override
 Send a piece of data to all connected receivers.
 
- Public Member Functions inherited from hh::core::implementor::ImplementorSender< Output >
 ImplementorSender ()
 Default constructor.
 
virtual ~ImplementorSender ()=default
 Default destructor.
 
std::set< abstraction::SenderAbstraction< Output > * > & senders ()
 Accessor to the SenderAbstraction.
 
virtual void initialize (abstraction::SenderAbstraction< Output > *senderAbstraction)
 Initialize the implementor Sender by setting the corresponding abstraction.
 
virtual std::set< abstraction::ReceiverAbstraction< Output > * > const & connectedReceivers () const =0
 Accessor to the connected receivers.
 
virtual void addReceiver (abstraction::ReceiverAbstraction< Output > *receiver)=0
 Add a receiver to the set of connected receivers.
 
virtual void removeReceiver (abstraction::ReceiverAbstraction< Output > *receiver)=0
 Remove a receiver to the set of connected receivers.
 
virtual void send (std::shared_ptr< Output > data)=0
 Send a data to successor node.
 

Additional Inherited Members

- Protected Attributes inherited from hh::core::implementor::ImplementorSender< Output >
std::unique_ptr< std::set< abstraction::SenderAbstraction< Output > * > > abstractSenders_ = nullptr
 Linked SenderAbstraction.
 

Detailed Description

template<class ... Outputs>
class hh::core::implementor::DefaultMultiSenders< Outputs >

Default implementors for the sender abstraction, used by tasks or state managers.

Template Parameters
OutputsVariadic of output types

Definition at line 35 of file default_multi_senders.h.

Constructor & Destructor Documentation

◆ DefaultMultiSenders()

template<class ... Outputs>
hh::core::implementor::DefaultMultiSenders< Outputs >::DefaultMultiSenders ( )
inline

Default constructor.

Definition at line 38 of file default_multi_senders.h.

◆ ~DefaultMultiSenders()

template<class ... Outputs>
hh::core::implementor::DefaultMultiSenders< Outputs >::~DefaultMultiSenders ( )
overridedefault

Default destructor.