P99

◆ P99_GENERIC_PVOLATILE

#define P99_GENERIC_PVOLATILE (   PEXP,
  NVOLATILE,
  VOLATILE 
)
Value:
P99_GENERIC((1 ? (PEXP) : (void const*)1),, \
P00_VOID_QUAL_(const, 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 volatile qualification.

See also
P99_GENERIC_PQUALIFIED
P99_GENERIC_PCONST
P99_GENERIC_PCONSTVOLATILE
P99_GENERIC_TCONSTVOLATILE 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 1606 of file p99_generic.h.

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