19#ifndef HEDGEHOG_GRAPH_SLOT_H 
   20#define HEDGEHOG_GRAPH_SLOT_H 
   24#include "../../implementor/implementor_slot.h" 
   25#include "../../../abstractions/base/input_output/notifier_abstraction.h" 
   31namespace implementor {
 
   50  [[nodiscard]] std::set<abstraction::NotifierAbstraction *> 
const &
connectedNotifiers()
 const override {
 
   51    throw std::runtime_error(
"A graph has no connected connectedNotifiers by itself");
 
   58    throw std::runtime_error(
"A graph has no connected connectedNotifiers by itself");
 
   70    for (
auto slot : *
abstractSlots_) { slot->removeNotifier(notifier); }
 
Core abstraction to notify slots.
Core's abstraction to receive a signal.
Default concrete implementation of the slot abstraction for the graph core.
~GraphSlot() override=default
Default destructor.
void addNotifier(abstraction::NotifierAbstraction *notifier) override
Add a notifier to all input nodes.
std::set< abstraction::NotifierAbstraction * > const & connectedNotifiers() const override
Do nothing, throw an error.
GraphSlot()=default
Default constructor.
void initialize(abstraction::SlotAbstraction *slotAbstraction) override
Redefine the implementor to do nothing, the graph do nothing by itself.
void removeNotifier(abstraction::NotifierAbstraction *notifier) override
Remove a notifier to all input nodes.
bool hasNotifierConnected() const override
Do nothing, throw an error.
Implementor for the SlotAbstraction.
std::unique_ptr< std::set< abstraction::SlotAbstraction * > > abstractSlots_
Set of linked SlotAbstraction.