#include "enum.hfa" #include "fstream.hfa" #pragma GCC visibility push(default) forall(ostype & | basic_ostream(ostype), E, V| CfaEnum(E, V)) ostype & ?|?(ostype& os, E e) { return os | type_name(e) | "." | labelE(e); } forall(ostype & | basic_ostream(ostype), E| CfaEnum(E, quasi_void)) ostype & ?|?(ostype& os, E e) { return os | type_name(e) | "." | labelE(e); } forall(ostype & | basic_ostream(ostype), E, V| CfaEnum(E, V)) { int ?==?(E l, E r) { return posE(l) == posE(r); } int ?<=?(E l, E r) { return posE(l) <= posE(r); } int ?>=?(E l, E r) { return posE(l) >= posE(r); } int ??(E l, E r) { return posE(l) > posE(r); } }