File indexing completed on 2026-03-29 08:14:08
0001 #
0002
0003
0004
0005
0006
0007
0008
0009 0010 ">#
0011 #
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 #
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
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