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;