19#ifndef HEDGEHOG_CX_ABSTRACT_NODE_H_ 
   20#define HEDGEHOG_CX_ABSTRACT_NODE_H_ 
   43  constexpr explicit AbstractNode(std::string 
const & name) : name_(name) {}
 
   46  constexpr virtual ~AbstractNode() = 
default;
 
   50  [[nodiscard]] 
constexpr std::string 
const &name()
 const { 
return name_; }
 
   54  [[nodiscard]] 
constexpr virtual bool isCanTerminateOverloaded()
 const { 
return false; }
 
   59  [[nodiscard]] 
constexpr virtual bool isTypeAnROType(std::string 
const &typeName) 
const = 0;
 
   64  [[nodiscard]] 
constexpr virtual bool isTypeAConstType(std::string 
const &typeName) 
const = 0;