_args
} _args;
#define dtev_args _args.E_entry /* function args. */
#define dtev_retval _args.E_return.__retval /* function retval */
#define dtev_error _args.E_return.__error /* function error */
#define DEFINE_CLASS(_name, _type, _exit, _enter, _args...) \
class_##_name##_constructor(_args) \
#define _scoped_guard(_type, _varname, _args...) \
class_##_type##_constructor(_args); _varname;_varname--)
#define scoped_guard(_type, _args...) _scoped_guard(_type, guardname(), _args)
#define LPRINTF(_args) \
printf _args; \
#define LPRINTF(_args) do {} while (0)