Detailed Description
Typesafe registration and retrieval of functions that may not be present (i.e. functions exported by optional modules)
Define Documentation
#define APR_DECLARE_OPTIONAL_FN |
( |
ret, |
|
|
name, |
|
|
args |
|
) |
typedef ret (APR_OPTIONAL_FN_TYPE(name)) args |
Declare an optional function.
- Parameters:
-
| ret | The return type of the function |
| name | The name of the function |
| args | The function arguments (including brackets) |
#define APR_OPTIONAL_FN_TYPE |
( |
name |
|
) |
apr_OFN_##name##_t |
The type of an optional function.
- Parameters:
-
| name | The name of the function |
#define APR_REGISTER_OPTIONAL_FN |
( |
name |
|
) |
|
Value:
Register an optional function. This can be later retrieved, type-safely, by name. Like all global functions, the name must be unique. Note that, confusingly but correctly, the function itself can be static!
- Parameters:
-
| name | The name of the function |
#define APR_RETRIEVE_OPTIONAL_FN |
( |
name |
|
) |
(APR_OPTIONAL_FN_TYPE(name) *)apr_dynamic_fn_retrieve(#name) |
Retrieve an optional function. Returns NULL if the function is not present.
- Parameters:
-
| name | The name of the function |
Typedef Documentation
XXX: This doesn't belong here, then! Private function! DO NOT USE!