macros.h raw

   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 BITCOIN_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
  21