github.com/searKing/golang/go@v1.2.117/runtime/cgosymbolizer/include/boost/config/helper_macros.hpp (about)

     1  #ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
     2  #define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
     3  
     4  //  Copyright 2001 John Maddock.
     5  //  Copyright 2017 Peter Dimov.
     6  //
     7  //  Distributed under the Boost Software License, Version 1.0.
     8  //
     9  //  See accompanying file LICENSE_1_0.txt or copy at
    10  //  http://www.boost.org/LICENSE_1_0.txt
    11  //
    12  //  BOOST_STRINGIZE(X)
    13  //  BOOST_JOIN(X, Y)
    14  //
    15  //  Note that this header is C compatible.
    16  
    17  //
    18  // Helper macro BOOST_STRINGIZE:
    19  // Converts the parameter X to a string after macro replacement
    20  // on X has been performed.
    21  //
    22  #define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
    23  #define BOOST_DO_STRINGIZE(X) #X
    24  
    25  //
    26  // Helper macro BOOST_JOIN:
    27  // The following piece of macro magic joins the two
    28  // arguments together, even when one of the arguments is
    29  // itself a macro (see 16.3.1 in C++ standard).  The key
    30  // is that macro expansion of macro arguments does not
    31  // occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
    32  //
    33  #define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y)
    34  #define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y)
    35  #define BOOST_DO_JOIN2(X, Y) X##Y
    36  
    37  #endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED