mbed library sources
Fork of mbed-src by
targets/cmsis/TARGET_Atmel/TARGET_SAM21/utils/preprocessor/tpaste.h@592:a274ee790e56, 2015-07-17 (annotated)
- Committer:
- mbed_official
- Date:
- Fri Jul 17 09:15:10 2015 +0100
- Revision:
- 592:a274ee790e56
- Parent:
- 579:53297373a894
Synchronized with git revision e7144f83a8d75df80c4877936b6ffe552b0be9e6
Full URL: https://github.com/mbedmicro/mbed/commit/e7144f83a8d75df80c4877936b6ffe552b0be9e6/
More API implementation for SAMR21
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 579:53297373a894 | 1 | #ifndef _TPASTE_H_ |
mbed_official | 579:53297373a894 | 2 | #define _TPASTE_H_ |
mbed_official | 579:53297373a894 | 3 | |
mbed_official | 579:53297373a894 | 4 | /** |
mbed_official | 579:53297373a894 | 5 | * \defgroup group_sam0_utils_tpaste Preprocessor - Token Paste |
mbed_official | 579:53297373a894 | 6 | * |
mbed_official | 579:53297373a894 | 7 | * \ingroup group_sam0_utils |
mbed_official | 579:53297373a894 | 8 | * |
mbed_official | 579:53297373a894 | 9 | * @{ |
mbed_official | 579:53297373a894 | 10 | */ |
mbed_official | 579:53297373a894 | 11 | |
mbed_official | 579:53297373a894 | 12 | /** \name Token Paste |
mbed_official | 579:53297373a894 | 13 | * |
mbed_official | 579:53297373a894 | 14 | * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. |
mbed_official | 579:53297373a894 | 15 | * |
mbed_official | 579:53297373a894 | 16 | * May be used only within macros with the tokens passed as arguments if the tokens are \#defined. |
mbed_official | 579:53297373a894 | 17 | * |
mbed_official | 579:53297373a894 | 18 | * For example, writing TPASTE2(U, WIDTH) within a macro \#defined by |
mbed_official | 579:53297373a894 | 19 | * UTYPE(WIDTH) and invoked as UTYPE(UL_WIDTH) with UL_WIDTH \#defined as 32 is |
mbed_official | 579:53297373a894 | 20 | * equivalent to writing U32. |
mbed_official | 579:53297373a894 | 21 | * |
mbed_official | 579:53297373a894 | 22 | * @{ */ |
mbed_official | 579:53297373a894 | 23 | #define TPASTE2( a, b) a##b |
mbed_official | 579:53297373a894 | 24 | #define TPASTE3( a, b, c) a##b##c |
mbed_official | 579:53297373a894 | 25 | #define TPASTE4( a, b, c, d) a##b##c##d |
mbed_official | 579:53297373a894 | 26 | #define TPASTE5( a, b, c, d, e) a##b##c##d##e |
mbed_official | 579:53297373a894 | 27 | #define TPASTE6( a, b, c, d, e, f) a##b##c##d##e##f |
mbed_official | 579:53297373a894 | 28 | #define TPASTE7( a, b, c, d, e, f, g) a##b##c##d##e##f##g |
mbed_official | 579:53297373a894 | 29 | #define TPASTE8( a, b, c, d, e, f, g, h) a##b##c##d##e##f##g##h |
mbed_official | 579:53297373a894 | 30 | #define TPASTE9( a, b, c, d, e, f, g, h, i) a##b##c##d##e##f##g##h##i |
mbed_official | 579:53297373a894 | 31 | #define TPASTE10(a, b, c, d, e, f, g, h, i, j) a##b##c##d##e##f##g##h##i##j |
mbed_official | 579:53297373a894 | 32 | /** @} */ |
mbed_official | 579:53297373a894 | 33 | |
mbed_official | 579:53297373a894 | 34 | /** \name Absolute Token Paste |
mbed_official | 579:53297373a894 | 35 | * |
mbed_official | 579:53297373a894 | 36 | * Paste N preprocessing tokens together, these tokens being allowed to be \#defined. |
mbed_official | 579:53297373a894 | 37 | * |
mbed_official | 579:53297373a894 | 38 | * No restriction of use if the tokens are \#defined. |
mbed_official | 579:53297373a894 | 39 | * |
mbed_official | 579:53297373a894 | 40 | * For example, writing ATPASTE2(U, UL_WIDTH) anywhere with UL_WIDTH \#defined |
mbed_official | 579:53297373a894 | 41 | * as 32 is equivalent to writing U32. |
mbed_official | 579:53297373a894 | 42 | * |
mbed_official | 579:53297373a894 | 43 | * @{ */ |
mbed_official | 579:53297373a894 | 44 | #define ATPASTE2( a, b) TPASTE2( a, b) |
mbed_official | 579:53297373a894 | 45 | #define ATPASTE3( a, b, c) TPASTE3( a, b, c) |
mbed_official | 579:53297373a894 | 46 | #define ATPASTE4( a, b, c, d) TPASTE4( a, b, c, d) |
mbed_official | 579:53297373a894 | 47 | #define ATPASTE5( a, b, c, d, e) TPASTE5( a, b, c, d, e) |
mbed_official | 579:53297373a894 | 48 | #define ATPASTE6( a, b, c, d, e, f) TPASTE6( a, b, c, d, e, f) |
mbed_official | 579:53297373a894 | 49 | #define ATPASTE7( a, b, c, d, e, f, g) TPASTE7( a, b, c, d, e, f, g) |
mbed_official | 579:53297373a894 | 50 | #define ATPASTE8( a, b, c, d, e, f, g, h) TPASTE8( a, b, c, d, e, f, g, h) |
mbed_official | 579:53297373a894 | 51 | #define ATPASTE9( a, b, c, d, e, f, g, h, i) TPASTE9( a, b, c, d, e, f, g, h, i) |
mbed_official | 579:53297373a894 | 52 | #define ATPASTE10(a, b, c, d, e, f, g, h, i, j) TPASTE10(a, b, c, d, e, f, g, h, i, j) |
mbed_official | 579:53297373a894 | 53 | /** @} */ |
mbed_official | 579:53297373a894 | 54 | |
mbed_official | 579:53297373a894 | 55 | /** @} */ |
mbed_official | 579:53297373a894 | 56 | |
mbed_official | 579:53297373a894 | 57 | #endif // _TPASTE_H_ |