14 lines
404 B
C
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
|