Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-03-29 08:14:08

0001 # /* **************************************************************************
0002 #  *                                                                          *
0003 #  *     (C) Copyright Paul Mensonides 2002.
0004 #  *     Distributed under the Boost Software License, Version 1.0. (See
0005 #  *     accompanying file LICENSE_1_0.txt or copy at
0006 #  *     http://www.boost.org/LICENSE_1_0.txt)
0007 #  *                                                                          *
0008 #  ************************************************************************** */
0009 0010 ">#
0011 # /* See http://www.boost.org for most recent version. */
0012 0013 ">#
0014 # ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
0015 # define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP
0016 0017 ">#
0018 # include <boost/preprocessor/cat.hpp>
0019 # include <boost/preprocessor/config/config.hpp>
0020 0021 ">#
0022 # /* BOOST_PP_CHECK */
0023 0024 ">#
0025 # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
0026 #    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type)
0027 # else
0028 #    define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type))
0029 #    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par
0030 # endif
0031 0032 ">#
0033 # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
0034 #    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))
0035 #    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
0036 #    define BOOST_PP_CHECK_2(res, _) res
0037 # elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
0038 #    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x)
0039 #    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
0040 #    define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk))
0041 #    define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im)
0042 #    define BOOST_PP_CHECK_4(res, _) res
0043 #    define BOOST_PP_CHECK_5(res) res
0044 # else /* DMC */
0045 #    define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x))
0046 #    define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par
0047 #    define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk))
0048 #    define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
0049 #    define BOOST_PP_CHECK_2(res, _) res
0050 # endif
0051 0052 ">#
0053 # define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL
0054 0055 ">#
0056 # endif