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