21#ifndef HEDGEHOG_NODE_H 
   22#define HEDGEHOG_NODE_H 
   24#include "../core/abstractions/base/node/node_abstraction.h" 
   34  std::shared_ptr<hh::core::abstraction::NodeAbstraction> 
const core_ = 
nullptr; 
 
   40  explicit Node(std::shared_ptr<hh::core::abstraction::NodeAbstraction> 
core) : 
core_(std::move(
core)) {
 
   41    if(
core_ == 
nullptr){ 
throw std::runtime_error(
"The core of a task should be valid (!= nullptr)."); }
 
   49  [[nodiscard]] std::shared_ptr<hh::core::abstraction::NodeAbstraction> 
const &
core()
 const { 
return core_; }
 
   53  [[nodiscard]] std::string 
name()
 const { 
return this->
core()->name(); }
 
Behavior abstraction for the base node.
std::string name() const
Node's name accessor.
std::shared_ptr< hh::core::abstraction::NodeAbstraction > const core_
Node's core.
virtual ~Node()=default
Default destructor.
Node(std::shared_ptr< hh::core::abstraction::NodeAbstraction > core)
Constructor's node.
std::shared_ptr< hh::core::abstraction::NodeAbstraction > const & core() const
Core accessor.