|
|
|
@ -8,7 +8,7 @@ |
|
|
|
|
|
|
|
typedef void (* fptr_ctor)(void *, va_list *); |
|
|
|
typedef void (* fptr_dtor)(void *); |
|
|
|
typedef void (* fptr_clone)(void *, const void * const); |
|
|
|
typedef void (* fptr_clone)(void *, void * const); |
|
|
|
|
|
|
|
extern const struct interface i_Class; |
|
|
|
|
|
|
|
@ -21,9 +21,11 @@ struct i_Class { |
|
|
|
|
|
|
|
extern void * classNew(class_ptr, ...); |
|
|
|
extern void classDelete(void **); |
|
|
|
extern void * classClone(void *); |
|
|
|
|
|
|
|
#define new(class,...) classNew(_##class, __VA_ARGS__) |
|
|
|
#define delete(object) classDelete((void **)(object)) |
|
|
|
#define new(class,...) classNew(_##class, ##__VA_ARGS__) |
|
|
|
#define delete(object) classDelete((void **)(object)) |
|
|
|
#define clone(object) classClone((void *)(object)) |
|
|
|
|
|
|
|
#endif // __INTERFACE_CLASS_H__ |
|
|
|
|
|
|
|
|