17#ifndef __NEST_EXPR_NODE_H__
18#define __NEST_EXPR_NODE_H__
36 virtual const NEST_EXPR_CLASS_NAME(Tag) * NEST_EXPR_CAST_METHOD_NAME(Tag)(void) const \
40#include "nest/expr/Node.def"
46 if (auto e = NEST_EXPR_CAST_METHOD_NAME(Tag)()) \
50#include "nest/expr/Node.def"
53 throw std::runtime_error{
"unreachable"};
T accept(Visitor< T > &v)
T accept(Visitor< T > *v)