|
Hint 0.1.0
|
Macros | |
| #define | hint_allocating |
Declares a function potentially allocates heap memory. Prevents inference of nonallocating. | |
| #define | hint_blocking |
| Declares a function potentially blocks. Prevents inference of hint_nonblocking. | |
| #define | hint_nonblocking |
| Declares a function does not block. | |
| #define | hint_noblock(__x) |
a bool parameterized version of hint_nonblocking | |
| #define | hint_nonallocating |
| Declares a function does not allocate heap memory. | |
| #define | hint_noalloc(__x) |
a bool parameterized version of hint_nonallocating | |
nonblocking or nonallocating type, the source must also be a function or function pointer of that type, unless it is a null pointer, i.e. the attributes should not be “spoofed”. Conversions that remove the attributes are transparent and valid.nonblocking or nonallocating virtual method must also be declared with that same attribute (or a stronger one.) An overriding method may add an attribute.nonblocking or nonallocating function must also be declared with the same attribute (or a stronger one). A redeclaration may add an attribute.hint_noalloc(x) and hint_noblock(x) are necessitated by the inability to write a macro that merely may take an argument.
| #define hint_noalloc | ( | __x | ) |
a bool parameterized version of hint_nonallocating
| #define hint_noblock | ( | __x | ) |
a bool parameterized version of hint_nonblocking