tango.core.Vararg

The vararg module is intended to facilitate vararg manipulation in D. It should be interface compatible with the C module "stdarg," and the two modules may share a common implementation if possible (as is done here).

License:

Public Domain

Authors:

Hauke Duden, Walter Bright
alias void* va_list #
The base vararg list type.
void va_start(T)(out va_list ap, ref T parmn) #
This function initializes the supplied argument pointer for subsequent use by va_arg and va_end.

Params:

apThe argument pointer to initialize.
paramnThe identifier of the rightmost parameter in the function parameter list.
T va_arg(T)(ref va_list ap) #
This function returns the next argument in the sequence referenced by the supplied argument pointer. The argument pointer will be adjusted to point to the next arggument in the sequence.

Params:

apThe argument pointer.

Returns:

The next argument in the sequence. The result is undefined if ap does not point to a valid argument.
void va_end(va_list ap) #
This function cleans up any resources allocated by va_start. It is currently a no-op and exists mostly for syntax compatibility with the variadric argument functions for C.

Params:

apThe argument pointer.
void va_copy(out va_list dst, va_list src) #
This function copied the argument pointer src to dst.

Params:

srcThe source pointer.
dstThe destination pointer.