20#ifndef HEDGEHOG_CX_CONCEPTS_H_ 
   21#define HEDGEHOG_CX_CONCEPTS_H_ 
   25#include "meta_functions.h" 
   32#ifndef DOXYGEN_SHOULD_SKIP_THIS 
   43template<
class HedgehogNode>
 
   49template<
typename StaticHedgehogNode>
 
   50concept HedgehogStaticNode = 
requires{
 
   51  std::is_base_of_v<hh_cx::behavior::AbstractNode, StaticHedgehogNode>;
 
   52  typename StaticHedgehogNode::ro_type_t; 
 
   53  typename StaticHedgehogNode::dynamic_node_t; 
 
   54  typename StaticHedgehogNode::inputs_t; 
 
   55  typename StaticHedgehogNode::outputs_t; 
 
   62template<
typename DynamicHedgehogNode>
 
   63concept HedgehogDynamicGraphForStaticAnalysis =
 
   64HedgehogConnectableNode<DynamicHedgehogNode>
 
   67            std::tuple_size_v<typename DynamicHedgehogNode::inputs_t>,
 
   68            hh_cx::tool::CatTuples_t<
 
   69                typename DynamicHedgehogNode::inputs_t,
 
   70                typename DynamicHedgehogNode::outputs_t>
 
   73    && std::is_constructible_v<DynamicHedgehogNode, std::string const &>;
 
Test if a node is a sender node.
Test if a node is a receiver node.