macros.h
1 // Copyright (c) 2019-present The Bitcoin Core developers 2 // Distributed under the MIT software license, see the accompanying 3 // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 5 #ifndef BITCOIN_UTIL_MACROS_H 6 #define BITCOIN_UTIL_MACROS_H 7 8 #define PASTE(x, y) x ## y 9 #define PASTE2(x, y) PASTE(x, y) 10 11 #define UNIQUE_NAME(name) PASTE2(name, __COUNTER__) 12 13 /** 14 * Converts the parameter X to a string after macro replacement on X has been performed. 15 * Don't merge these into one macro! 16 */ 17 #define STRINGIZE(X) DO_STRINGIZE(X) 18 #define DO_STRINGIZE(X) #X 19 20 #endif // BITCOIN_UTIL_MACROS_H