P99

◆ P99_VASSIGNS

#define P99_VASSIGNS (   NAME,
  ... 
)
Value:
P99_IF_LT(P99_NARG(__VA_ARGS__),2) \
(P99_IF_VOID(__VA_ARGS__)((void)0)(__VA_ARGS__ = (NAME)[0])) \
(P99_FOR(NAME, P00_NARG(__VA_ARGS__),P00_SEP, P00_VASSIGN, __VA_ARGS__))

Vector-assign to a list.

Produce a list of length N that has the contents of V0 = NAME[0], V1 = NAME[1], ..., VN-1 = NAME[N-1], where V0, etc are the remaining arguments.

Warning
argument 0 may be evaluated multiple times

Definition at line 210 of file p99_map.h.

void
void void
Definition: p99_bitset.h:84
P99_NARG
#define P99_NARG(...)
Return the length of the variable length argument list, where an empty argument list is considered to...
Definition: p99_args.h:117
P99_IF_LT
#define P99_IF_LT(A, B)
Test two decimal numbers A and B for whether A is strictly less than B.
Definition: p99_if.h:120
P99_IF_VOID
#define P99_IF_VOID(...)
Definition: p99_if.h:171
P99_FOR
#define P99_FOR(NAME, N, OP, FUNC,...)
A preprocessor pseudo iterator.
Definition: p99_for.h:92