diff --git a/ev_types.h b/ev_types.h index 4c8483f..1a56462 100644 --- a/ev_types.h +++ b/ev_types.h @@ -51,13 +51,16 @@ typedef struct { #define DECLARE_HASH_FUNCTION(T,name) DEFINE_HASH_FUNCTION(T,name); #define DECLARE_EQUAL_FUNCTION(T,name) DEFINE_EQUAL_FUNCTION(T,name); -#define EV_TYPEDEF(T, ...) \ - typedef __VA_ARGS__ T; \ +#define EV_REGISTER_TYPE(T) \ DEFINE_DEFAULT_COPY_FUNCTION(T) \ DEFINE_DEFAULT_FREE_FUNCTION(T) \ DEFINE_DEFAULT_HASH_FUNCTION(T) \ DEFINE_DEFAULT_EQUAL_FUNCTION(T) +#define EV_TYPEDEF(T, ...) \ + typedef __VA_ARGS__ T; \ + EV_REGISTER_TYPE(T) + #define TypeData(T) EV_CAT(EV_TYPEDATA_,T) #define TYPEDATA_GEN(T, ...) \ static const EvTypeData TypeData(T) = { \