AudRecordLib
Defines
SimpleAssert.h File Reference

Defines a custom ASSERT macro. More...

Go to the source code of this file.

Defines

#define CONCAT_INT(a, b)   a##b
#define CONCAT(a, b)   CONCAT_INT(a, b)
#define WSTRINGIFY_INT(a)   CONCAT(L, #a)
#define WSTRINGIFY(a)   WSTRINGIFY_INT(a)
#define STRINGIFY_INT(a)   #a
#define STRINGIFY(a)   STRINGIFY_INT(a)
#define CASSERT(expr)   static const char CONCAT(cassertTester, __COUNTER__) [(expr) ? 1 : -1]
#define ASSERT(expr)

Detailed Description

Defines a custom ASSERT macro.


Define Documentation

#define CASSERT (   expr)    static const char CONCAT(cassertTester, __COUNTER__) [(expr) ? 1 : -1]

Causes a compile time error by trying to define an array of negative size is the expr evaluates to false.

#define CONCAT (   a,
 
)    CONCAT_INT(a, b)

Concatenates b to a by passing the arguments to CONCAT_INT() This is so any macro parameters are exapanded before the pasting takes place

#define CONCAT_INT (   a,
 
)    a##b

Internal macro that actually performs the concatenation of a and b with the token pasting operator

#define STRINGIFY (   a)    STRINGIFY_INT(a)

Turns a into a character string by putting it in speech marks. The argument is passed to STRINGIFY_INT so that a is expanded if it's a macro itself

#define STRINGIFY_INT (   a)    #a

Internal macro that actually turns a into a string This is simply done using the stringify (#) operator

#define WSTRINGIFY (   a)    WSTRINGIFY_INT(a)

Turns a into a wide character string by putting it in speech marks and prepending an L. The argument is passed to WSTRINGIFY_INT so that a is expanded if it's a macro itself

#define WSTRINGIFY_INT (   a)    CONCAT(L, #a)

Internal macro that actually turns a into a wide string This is achieved by passing an L and #a to CONCAT so they are paasted together

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Defines