26 #ifndef __TR_CLASS_INTERFACE_CLASS_H__
27 #define __TR_CLASS_INTERFACE_CLASS_H__
62 void * TR_classNew(TR_class_ptr, ...);
72 void * TR_classNewv(TR_class_ptr, va_list *);
82 int TR_objectInit(
void *, ...);
90 void TR_classDelete(
void **);
98 void * TR_classClone(
void *);
106 #define TR_new(class,...) TR_classNew(_##class, ##__VA_ARGS__)
113 #define TR_newv(class,args) TR_classNewv(_##class, args)
119 #define TR_delete(object) TR_classDelete((void **)&(object))
127 #define TR_clone(object) TR_classClone((void *)(object))
129 #endif // __TR_CLASS_INTERFACE_CLASS_H__
int(* fptr_ctor)(void *, va_list *)
void(* fptr_dtor)(void *)
void(* fptr_clone)(void *, void *const)