7 #include <hilti/ast/node.h> 8 #include <hilti/base/type_erase.h> 19 #include <hilti/autogen/__statement.h> 22 inline Node to_node(Statement t) {
return Node(std::move(t)); }
25 inline std::ostream& operator<<(std::ostream& out, Statement s) {
return out << to_node(std::move(s)); }
27 inline bool operator==(
const Statement& x,
const Statement& y) {
31 assert(x.isEqual(y) == y.isEqual(x));
35 inline bool operator!=(
const Statement& s1,
const Statement& s2) {
return ! (s1 == s2); }
40 using Statement = statement::detail::Statement;
41 using statement::detail::to_node;
44 template<typename T, typename std::enable_if_t<std::is_base_of<trait::isStatement, T>::value>* =
nullptr>
45 inline Node to_node(T t) {
46 return Node(Statement(std::move(t)));
Definition: statement.h:14