20 #ifndef HEDGEHOG_CORE_GRAPH_MULTI_RECEIVERS_H 21 #define HEDGEHOG_CORE_GRAPH_MULTI_RECEIVERS_H 23 #include "../../base/receiver/core_slot.h" 24 #include "../../base/receiver/core_multi_receivers.h" 25 #include "core_graph_receiver.h" 32 template<
class ...GraphInputs>
41 :
CoreSlot(name, type, numberThreads),
44 HLOG_SELF(0,
"Creating CoreGraphMultiReceivers with type: " << (
int) type <<
" and name: " << name)
58 std::ostringstream oss;
59 oss <<
"Internal error, should not be called, graph does not have a node: " << __FUNCTION__;
60 HLOG_SELF(0, oss.str())
61 throw (std::runtime_error(oss.str()));
66 #endif //HEDGEHOG_CORE_GRAPH_MULTI_RECEIVERS_H NodeType type() const
Node type accessor.
Graph Receiver for a type GraphInput.
Multi receiver interface, gather multiple CoreReceiver.
Node Behavior definition.
Slot interface, receive notification from CoreNotifier.
behavior::Node * node() override
Get a node from the graph, that does not exist, throw an error in every case.
NodeType
Hedgehog node's type.
std::string_view const & name() const
Node name accessor.
CoreGraphMultiReceivers(std::string_view const &name, NodeType const type, size_t const numberThreads)
CoreGraphMultiReceivers constructor.
size_t numberThreads() const
Number of threads associated accessor.
~CoreGraphMultiReceivers() override
CoreGraphMultiReceivers destructor.
bool receiversEmpty() final
Test if all the CoreGraphMultiReceivers of the graphs (its input nodes CoreMultiReceivers) are empty...
bool receiverEmpty() final
Test emptiness in all graph receivers.