Preprocessor Tuple Metaprogramming module

This module provides various macros for metaprogramming with tuple-like constructs. A Preprocessing tuple is a token string of the form (x, y, z, ...) where x, y, z, etc. are any valid token strings used in a preprocessing context

Defines

#define IS_TUPLE(x)
Determines if x is a tuple A tuple is a token string of the form (x, y, z, ...) where x, y, z, etc. are valid token strings.
#define IS_NOT_TUPLE(x)
Determines if x is NOT a tuple A tuple is a token string of the form (x, y, z, ...) where x, y, z, etc. are valid token strings.
#define EXPAND_TUPLE(x)
Expands the given tuple into a comma separated list of elements A tuple is a token string of the form (x, y, z, ...) where x, y, z, etc. are valid token strings.

Define documentation

#define IS_TUPLE(x)

Determines if x is a tuple A tuple is a token string of the form (x, y, z, ...) where x, y, z, etc. are valid token strings.

Parameters
x - The token string to determine if it is a tuple
Returns TRUE if x is a tuple, otherwise FALSE

#define IS_NOT_TUPLE(x)

Determines if x is NOT a tuple A tuple is a token string of the form (x, y, z, ...) where x, y, z, etc. are valid token strings.

Parameters
x - The token string to determine if it is NOT a tuple
Returns TRUE if x is NOT a tuple, otherwise FALSE

#define EXPAND_TUPLE(x)

Expands the given tuple into a comma separated list of elements A tuple is a token string of the form (x, y, z, ...) where x, y, z, etc. are valid token strings.

Parameters
x - The tuple to expand
Returns the elements of the tuple x in a comma separated list