A variable argument list, similar in functionality to a C
va_list
.
A variable argument list is a stateful cursor used to iterate over a set of arguments. A variable argument list can be passed by reference e.g. to a downcall method handle PREVIEW.
Per the C specification (see C99 standard 6.5.2.2 Function calls - item 6), arguments to variadic calls are erased by way of 'default argument promotions', which erases integral types by way of integer promotion (see C99 standard 6.3.1.1 - item 2), and which erases all float
arguments to double
.
As such, this interface only supports reading int
, double
, and any other type that fits into a long
. This class is not thread safe, and all accesses should occur within a single thread (regardless of the memory session associated with the variable arity list).
VaList
when preview features are enabled.