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