Skip to content

File tddmacros.h

FileList > code_source > templat > include > TempLat > util > tdd > tddmacros.h

Go to the source code of this file

Macros

Type Name
define GETMAKEASSERTSTRING (_1, _2, _3, _4, _5, _6, _7, NAME, ...) NAME
define MAKEASSERTSTRING (...) /* multi line expression */
define MAKEASSERTSTRING_1 (x) #x
define MAKEASSERTSTRING_2 (x, y) #x ", " #y
define MAKEASSERTSTRING_3 (x, y, z) MAKEASSERTSTRING\_2(x, y) ", " #z
define MAKEASSERTSTRING_4 (_1, _2, _3, _4) MAKEASSERTSTRING\_2(\_1, \_2) ", " MAKEASSERTSTRING\_2(\_3, \_4)
define MAKEASSERTSTRING_5 (_1, _2, _3, _4, _5) MAKEASSERTSTRING\_3(\_1, \_2, \_3) ", " MAKEASSERTSTRING\_2(\_4, \_5)
define MAKEASSERTSTRING_6 (_1, _2, _3, _4, _5, _6) MAKEASSERTSTRING\_3(\_1, \_2, \_3) ", " MAKEASSERTSTRING\_3(\_4, \_5, \_6)
define MAKEASSERTSTRING_7 (_1, _2, _3, _4, _5, _6, _7) MAKEASSERTSTRING\_3(\_1, \_2, \_3) ", " MAKEASSERTSTRING\_4(\_4, \_5, \_6, \_7)
define verify (...) ASSERT(MAKEASSERTSTRING(\_\_VA\_ARGS\_\_), \_\_FILE\_\_, \_\_LINE\_\_, \_\_VA\_ARGS\_\_)

Macro Definition Documentation

define GETMAKEASSERTSTRING

#define GETMAKEASSERTSTRING (
    _1,
    _2,
    _3,
    _4,
    _5,
    _6,
    _7,
    NAME,
    ...
) `NAME`

define MAKEASSERTSTRING

#define MAKEASSERTSTRING (
    ...
) `/* multi line expression */`

define MAKEASSERTSTRING_1

#define MAKEASSERTSTRING_1 (
    x
) `#x`

define MAKEASSERTSTRING_2

#define MAKEASSERTSTRING_2 (
    x,
    y
) `#x ", " #y`

define MAKEASSERTSTRING_3

#define MAKEASSERTSTRING_3 (
    x,
    y,
    z
) `MAKEASSERTSTRING_2(x, y) ", " #z`

define MAKEASSERTSTRING_4

#define MAKEASSERTSTRING_4 (
    _1,
    _2,
    _3,
    _4
) `MAKEASSERTSTRING_2(_1, _2) ", " MAKEASSERTSTRING_2(_3, _4)`

define MAKEASSERTSTRING_5

#define MAKEASSERTSTRING_5 (
    _1,
    _2,
    _3,
    _4,
    _5
) `MAKEASSERTSTRING_3(_1, _2, _3) ", " MAKEASSERTSTRING_2(_4, _5)`

define MAKEASSERTSTRING_6

#define MAKEASSERTSTRING_6 (
    _1,
    _2,
    _3,
    _4,
    _5,
    _6
) `MAKEASSERTSTRING_3(_1, _2, _3) ", " MAKEASSERTSTRING_3(_4, _5, _6)`

define MAKEASSERTSTRING_7

#define MAKEASSERTSTRING_7 (
    _1,
    _2,
    _3,
    _4,
    _5,
    _6,
    _7
) `MAKEASSERTSTRING_3(_1, _2, _3) ", " MAKEASSERTSTRING_4(_4, _5, _6, _7)`

define verify

#define verify (
    ...
) `ASSERT(MAKEASSERTSTRING(__VA_ARGS__), __FILE__, __LINE__, __VA_ARGS__)`


The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/util/tdd/tddmacros.h