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
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:
| ap |
The argument pointer to initialize. |
| paramn |
The 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:
Returns:
The next argument in the sequence. The result is undefined if ap
does not point to a valid argument.
- void
va_end
(void* 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:
| void* ap |
The argument pointer. |
- void
va_copy
(out void* dst, void* src);
- This function copied the argument pointer src to dst.
Params:
| void* src |
The source pointer. |
| void* dst |
The destination pointer. |
|