P99

◆ P99_GENERIC_PCONSTVOLATILE

#define P99_GENERIC_PCONSTVOLATILE (   PEXP,
  NON,
  FULL 
)
Value:
P99_GENERIC((1 ? (PEXP) : (void*)1), \
NVOLATILE, \
P00_VOID_QUAL_(const volatile, VOLATILE) \
)

Generic choice based on the qualification of the target of a pointer expression.

Similar to P99_GENERIC_PCONST but ask for const and volatile qualification.

See also
P99_GENERIC_PQUALIFIED
P99_GENERIC_PCONST
P99_GENERIC_PVOLATILE
P99_GENERIC_TVOLATILE for a similar macro that works for type expressions instead of a pointer expression
Remarks
argument 0 maybe evaluated several times for its type but only once for its value

Definition at line 1626 of file p99_generic.h.

P99_GENERIC
#define P99_GENERIC(...)
Type generic expression in anticipation of C11 _Generic.
Definition: p99_generic.h:707