Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:44:43

0001 #ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
0002 #define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
0003 
0004 //  Copyright 2001 John Maddock.
0005 //  Copyright 2017 Peter Dimov.
0006 //
0007 //  Distributed under the Boost Software License, Version 1.0.
0008 //
0009 //  See accompanying file LICENSE_1_0.txt or copy at
0010 //  http://www.boost.org/LICENSE_1_0.txt
0011 //
0012 //  BOOST_STRINGIZE(X)
0013 //  BOOST_JOIN(X, Y)
0014 //
0015 //  Note that this header is C compatible.
0016 
0017 //
0018 // Helper macro BOOST_STRINGIZE:
0019 // Converts the parameter X to a string after macro replacement
0020 // on X has been performed.
0021 //
0022 #define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
0023 #define BOOST_DO_STRINGIZE(X) #X
0024 
0025 //
0026 // Helper macro BOOST_JOIN:
0027 // The following piece of macro magic joins the two
0028 // arguments together, even when one of the arguments is
0029 // itself a macro (see 16.3.1 in C++ standard).  The key
0030 // is that macro expansion of macro arguments does not
0031 // occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
0032 //
0033 #define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y)
0034 #define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y)
0035 #define BOOST_DO_JOIN2(X, Y) X##Y
0036 
0037 #endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED