cutes/typeclass_helpers.h

14 lines
404 B
C

#ifndef CUTES_TYPECLASS_HELPERS_H
#define CUTES_TYPECLASS_HELPERS_H
#define TC_FN_TYPECHECK(__Return, __Name, ...)\
__Return (*const __Name##_)(__VA_ARGS__) = __Name; (void)__Name##_
#define decl_typeclass_impl(__Typeclass, __Type)\
extern __Typeclass __Type##_as_##__Typeclass(__Type*);
#define new(T) malloc(sizeof(T))
#define new_as(T, TC) T##_as_##TC(new(T))
#endif // !CUTES_TYPECLASS_HELPERS_H