12345678910111213141516171819202122232425262728293031323334353637 |
- #ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
- #define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
- // Copyright 2001 John Maddock.
- // Copyright 2017 Peter Dimov.
- //
- // Distributed under the Boost Software License, Version 1.0.
- //
- // See accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt
- //
- // BOOST_STRINGIZE(X)
- // BOOST_JOIN(X, Y)
- //
- // Note that this header is C compatible.
- //
- // Helper macro BOOST_STRINGIZE:
- // Converts the parameter X to a string after macro replacement
- // on X has been performed.
- //
- #define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
- #define BOOST_DO_STRINGIZE(X) #X
- //
- // Helper macro BOOST_JOIN:
- // The following piece of macro magic joins the two
- // arguments together, even when one of the arguments is
- // itself a macro (see 16.3.1 in C++ standard). The key
- // is that macro expansion of macro arguments does not
- // occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
- //
- #define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y)
- #define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y)
- #define BOOST_DO_JOIN2(X, Y) X##Y
- #endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|