## cppmagic

cppmagic

## Functions

#define | CPPMAGIC_NOTHING
#define | CPPMAGIC_STRINGIFY()
#define | CPPMAGIC_GLUE2()
#define | CPPMAGIC_1ST()
#define | CPPMAGIC_2ND()
#define | CPPMAGIC_ISZERO()
#define | CPPMAGIC_NONZERO()
#define | CPPMAGIC_NONEMPTY()
#define | CPPMAGIC_ISEMPTY()
#define | CPPMAGIC_IFELSE()
#define | CPPMAGIC_EVAL1()
#define | CPPMAGIC_EVAL2()
#define | CPPMAGIC_EVAL4()
#define | CPPMAGIC_EVAL8()
#define | CPPMAGIC_EVAL16()
#define | CPPMAGIC_EVAL32()
#define | CPPMAGIC_EVAL64()
#define | CPPMAGIC_EVAL128()
#define | CPPMAGIC_EVAL256()
#define | CPPMAGIC_EVAL512()
#define | CPPMAGIC_EVAL1024()
#define | CPPMAGIC_EVAL()
#define | CPPMAGIC_DEFER1()
#define | CPPMAGIC_DEFER2()
#define | CPPMAGIC_MAP()
#define | CPPMAGIC_2MAP()
#define | CPPMAGIC_JOIN()

## Description

## Functions

### CPPMAGIC_NOTHING

    #define CPPMAGIC_NOTHING()

### CPPMAGIC_STRINGIFY()

    #define CPPMAGIC_STRINGIFY(...)		_CPPMAGIC_STRINGIFY(__VA_ARGS__)

### CPPMAGIC_GLUE2()

    #define CPPMAGIC_GLUE2(a_, b_)		_CPPMAGIC_GLUE2(a_, b_)

### CPPMAGIC_1ST()

    #define CPPMAGIC_1ST(a_, ...)		a_

### CPPMAGIC_2ND()

    #define CPPMAGIC_2ND(a_, b_, ...) b_

### CPPMAGIC_ISZERO()

    #define             CPPMAGIC_ISZERO(a_)

### CPPMAGIC_NONZERO()

    #define CPPMAGIC_NONZERO(a_)		CPPMAGIC_ISZERO(CPPMAGIC_ISZERO(a_))

### CPPMAGIC_NONEMPTY()

    #define             CPPMAGIC_NONEMPTY(...)

### CPPMAGIC_ISEMPTY()

    #define             CPPMAGIC_ISEMPTY(...)

### CPPMAGIC_IFELSE()

    #define             CPPMAGIC_IFELSE(cond_)

### CPPMAGIC_EVAL1()

    #define CPPMAGIC_EVAL1(...)		__VA_ARGS__

### CPPMAGIC_EVAL2()

    #define             CPPMAGIC_EVAL2(...)

### CPPMAGIC_EVAL4()

    #define             CPPMAGIC_EVAL4(...)

### CPPMAGIC_EVAL8()

    #define             CPPMAGIC_EVAL8(...)

### CPPMAGIC_EVAL16()

    #define             CPPMAGIC_EVAL16(...)

### CPPMAGIC_EVAL32()

    #define             CPPMAGIC_EVAL32(...)

### CPPMAGIC_EVAL64()

    #define             CPPMAGIC_EVAL64(...)

### CPPMAGIC_EVAL128()

    #define             CPPMAGIC_EVAL128(...)

### CPPMAGIC_EVAL256()

    #define             CPPMAGIC_EVAL256(...)

### CPPMAGIC_EVAL512()

    #define             CPPMAGIC_EVAL512(...)

### CPPMAGIC_EVAL1024()

    #define             CPPMAGIC_EVAL1024(...)

### CPPMAGIC_EVAL()

    #define CPPMAGIC_EVAL(...)		CPPMAGIC_EVAL1024(__VA_ARGS__)

### CPPMAGIC_DEFER1()

    #define CPPMAGIC_DEFER1(a_) a_ CPPMAGIC_NOTHING()

### CPPMAGIC_DEFER2()

    #define CPPMAGIC_DEFER2(a_) a_ CPPMAGIC_NOTHING CPPMAGIC_NOTHING()()

### CPPMAGIC_MAP()

    #define             CPPMAGIC_MAP(m_, ...)

### CPPMAGIC_2MAP()

    #define             CPPMAGIC_2MAP(m_, ...)

### CPPMAGIC_JOIN()

    #define             CPPMAGIC_JOIN(d_, ...)