21 OF_ASSUME_NONNULL_BEGIN
23 typedef struct of_block_literal_t {
31 void (*invoke)(
void *block, ...);
32 struct of_block_descriptor_t {
33 unsigned long reserved;
35 void (*_Nullable copy_helper)(
void *dest,
void *src);
36 void (*_Nullable dispose_helper)(
void *src);
37 const char *signature;
44 extern void *_Block_copy(
const void *);
45 extern void _Block_release(
const void *);
47 # if defined(OF_WINDOWS) && \
48 (defined(OF_NO_SHARED) || defined(OF_COMPILING_OBJFW))
54 extern __declspec(dllexport)
struct objc_class _NSConcreteStackBlock;
55 extern __declspec(dllexport)
struct objc_class _NSConcreteGlobalBlock;
56 extern __declspec(dllexport)
void _Block_object_assign(
void *,
const void *,
58 extern __declspec(dllexport)
void _Block_object_dispose(
const void *,
66 # define Block_copy(...) \
67 ((__typeof__(__VA_ARGS__))_Block_copy((const void *)(__VA_ARGS__)))
70 # define Block_release(...) _Block_release((const void *)(__VA_ARGS__))
struct objc_class * Class
A pointer to a class.
Definition: ObjFWRT.h:85