withVaList

func withVaList<R>(_: [CVarArg], _: (CVaListPointer) -> R)

Invokes the given closure with a C va_list argument derived from the given array of arguments.

The pointer passed as an argument to body is valid only during the execution of withVaList(_:_:). Do not store or return the pointer for later use.

If you need to pass an optional pointer as a CVarArg argument, use the Int(bitPattern:) initializer to interpret the optional pointer as an Int value, which has the same C variadic calling conventions as a pointer on all supported platforms.

Parameters: args: An array of arguments to convert to a C va_list pointer. body: A closure with a CVaListPointer parameter that references the arguments passed as args. If body has a return value, that value is also used as the return value for the withVaList(_:) function. The pointer argument is valid only for the duration of the function's execution. Returns: The return value, if any, of the body closure parameter.

Declaration

func withVaList<R>(_ args: [CVarArg], _ body: (CVaListPointer) -> R) -> R