/ src / util / macros.h
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