Hedgehog  3.1.0
A library to generate hybrid pipeline workflow systems
Loading...
Searching...
No Matches
hh::core::implementor::GraphSlot Class Reference

Default concrete implementation of the slot abstraction for the graph core. More...

#include "graph_slot.h"

Inheritance diagram for hh::core::implementor::GraphSlot:
Inheritance graph
Collaboration diagram for hh::core::implementor::GraphSlot:
Collaboration graph

Public Member Functions

 GraphSlot ()=default
 Default constructor.
 
 ~GraphSlot () override=default
 Default destructor.
 
void initialize (abstraction::SlotAbstraction *slotAbstraction) override
 Redefine the implementor to do nothing, the graph do nothing by itself.
 
std::set< abstraction::NotifierAbstraction * > const & connectedNotifiers () const override
 Do nothing, throw an error.
 
bool hasNotifierConnected () const override
 Do nothing, throw an error.
 
void addNotifier (abstraction::NotifierAbstraction *notifier) override
 Add a notifier to all input nodes.
 
void removeNotifier (abstraction::NotifierAbstraction *notifier) override
 Remove a notifier to all input nodes.
 
- Public Member Functions inherited from hh::core::implementor::ImplementorSlot
 ImplementorSlot ()
 Default constructor.
 
virtual ~ImplementorSlot ()=default
 Default destructor.
 
std::set< abstraction::SlotAbstraction * > & slots ()
 Accessor to the linked SlotAbstraction.
 
virtual void initialize (abstraction::SlotAbstraction *slotAbstraction)
 Initialize the implementor Slot by setting the corresponding abstraction.
 
virtual std::set< abstraction::NotifierAbstraction * > const & connectedNotifiers () const =0
 Accessor to the connected notifiers.
 
virtual bool hasNotifierConnected () const =0
 Test if there is any notifiers connected.
 
virtual void addNotifier (abstraction::NotifierAbstraction *notifier)=0
 Add a notifier to the set of NotifierAbstraction.
 
virtual void removeNotifier (abstraction::NotifierAbstraction *notifier)=0
 Remove notifier to the set of NotifierAbstraction.
 

Additional Inherited Members

- Protected Attributes inherited from hh::core::implementor::ImplementorSlot
std::unique_ptr< std::set< abstraction::SlotAbstraction * > > abstractSlots_ = nullptr
 Set of linked SlotAbstraction.
 

Detailed Description

Default concrete implementation of the slot abstraction for the graph core.

Definition at line 34 of file graph_slot.h.

Constructor & Destructor Documentation

◆ GraphSlot()

hh::core::implementor::GraphSlot::GraphSlot ( )
explicitdefault

Default constructor.

◆ ~GraphSlot()

hh::core::implementor::GraphSlot::~GraphSlot ( )
overridedefault

Default destructor.

Member Function Documentation

◆ addNotifier()

void hh::core::implementor::GraphSlot::addNotifier ( abstraction::NotifierAbstraction notifier)
inlineoverridevirtual

Add a notifier to all input nodes.

Parameters
notifierNotifier top add to the input nodes

Implements hh::core::implementor::ImplementorSlot.

Definition at line 63 of file graph_slot.h.

◆ connectedNotifiers()

std::set< abstraction::NotifierAbstraction * > const & hh::core::implementor::GraphSlot::connectedNotifiers ( ) const
inlineoverridevirtual

Do nothing, throw an error.

Returns
Nothing, throw an error
Exceptions
std::runtime_errorA graph has no connected connectedNotifiers by itself

Implements hh::core::implementor::ImplementorSlot.

Definition at line 50 of file graph_slot.h.

◆ hasNotifierConnected()

bool hh::core::implementor::GraphSlot::hasNotifierConnected ( ) const
inlineoverridevirtual

Do nothing, throw an error.

Returns
Nothing, throw an error
Exceptions
std::runtime_errorA graph has no connected connectedNotifiers by itself

Implements hh::core::implementor::ImplementorSlot.

Definition at line 57 of file graph_slot.h.

◆ initialize()

void hh::core::implementor::GraphSlot::initialize ( abstraction::SlotAbstraction slotAbstraction)
inlineoverridevirtual

Redefine the implementor to do nothing, the graph do nothing by itself.

Parameters
slotAbstractionAbstraction not used

Reimplemented from hh::core::implementor::ImplementorSlot.

Definition at line 45 of file graph_slot.h.

◆ removeNotifier()

void hh::core::implementor::GraphSlot::removeNotifier ( abstraction::NotifierAbstraction notifier)
inlineoverridevirtual

Remove a notifier to all input nodes.

Parameters
notifierNotifier top remove to the input nodes

Implements hh::core::implementor::ImplementorSlot.

Definition at line 69 of file graph_slot.h.