File indexing completed on 2025-01-18 09:48:23
0001 #
0002
0003
0004
0005
0006
0007
0008
0009 #
0010 #
0011 #
0012 #ifndef BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP
0013 #define BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP
0014
0015 #include <boost/preprocessor/punctuation/is_begin_parens.hpp>
0016
0017 #if BOOST_PP_VARIADICS_MSVC
0018
0019 # pragma warning(once:4002)
0020
0021 #define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, b) b
0022 #define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, b) t
0023
0024 #else
0025
0026 #define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, ...) __VA_ARGS__
0027 #define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, ...) t
0028
0029 #endif
0030
0031 #if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
0032
0033 #define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(param) \
0034 BOOST_PP_IS_BEGIN_PARENS \
0035 ( \
0036 BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C param () \
0037 ) \
0038
0039
0040 #else
0041
0042 #define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(...) \
0043 BOOST_PP_IS_BEGIN_PARENS \
0044 ( \
0045 BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \
0046 ) \
0047
0048
0049 #endif
0050
0051 #define BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b
0052 #define BOOST_PP_DETAIL_IS_EMPTY_IIF(bit) BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(BOOST_PP_DETAIL_IS_EMPTY_IIF_,bit)
0053 #define BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C(...) ()
0054
0055 #endif