Expand description
Raw bindings to Apple’s C language extension of blocks
The documentation for these bindings is a mix from GNUStep’s and Apple’s sources, but the ABI specification is really the place you should be looking!
See also the README.md
for more
background information, and for how to configure the desired runtime.
Structs
Structure used for on-stack variables that are referenced by blocks.
apple
Structure used for on-stack variables that are referenced by blocks.
Structure used for on-stack variables that are referenced by blocks.
Block descriptor that contains copy and dispose operations.
Extended block descriptor that does not contain copy and dispose helper functions.
Requires BLOCK_HAS_COPY_DISPOSE and BLOCK_HAS_SIGNATURE
Constants
The field is an indirect reference to a variable declared with the __block storage qualifier.
apple
The field is a block. This must be copied by the block copy functions.
The field is an indirect reference to a variable declared with the __block storage qualifier.
The value is of some id-like type, and should be copied as an Objective-C object: i.e. by sending -retain or via the GC assign functions in GC mode (not yet supported).
The field is an indirect reference to a variable declared with the __block storage qualifier.
The block descriptor contains copy and dispose helpers. compiler
The helpers have C++ code. compiler: helpers have C++ code
compiler
Block has an Objective-C type encoding. compiler
compiler
apple
compiler
Block is stored in global memory and does not need to be copied. compiler
apple
compiler
apple
runtime
compiler
Block function uses a calling convention that returns a structure via a pointer passed in by the caller.
Statics
apple
or compiler-rt
apple
or compiler-rt
apple
or compiler-rt
Functions
Runtime entry point called by compiler when assigning objects inside copy helper routines
runtime entry point called by the compiler when disposing of objects inside dispose helper routine
Type Definitions
Flags used in the final argument to _Block_object_assign() and _Block_object_dispose(). These indicate the type of copy or dispose to perform. Values for _Block_object_assign() and _Block_object_dispose() parameters
Block descriptor flags. Values for Block_layout->flags to describe block objects