annotate DEPENDENCIES/generic/include/boost/preprocessor/facilities/detail/is_empty.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents f46d142149f5
children
rev   line source
Chris@102 1 # /* **************************************************************************
Chris@102 2 # * *
Chris@102 3 # * (C) Copyright Edward Diener 2014.
Chris@102 4 # * Distributed under the Boost Software License, Version 1.0. (See
Chris@102 5 # * accompanying file LICENSE_1_0.txt or copy at
Chris@102 6 # * http://www.boost.org/LICENSE_1_0.txt)
Chris@102 7 # * *
Chris@102 8 # ************************************************************************** */
Chris@102 9 #
Chris@102 10 # /* See http://www.boost.org for most recent version. */
Chris@102 11 #
Chris@102 12 #ifndef BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP
Chris@102 13 #define BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP
Chris@102 14
Chris@102 15 #include <boost/preprocessor/punctuation/is_begin_parens.hpp>
Chris@102 16
Chris@102 17 #if BOOST_PP_VARIADICS_MSVC
Chris@102 18
Chris@102 19 # pragma warning(once:4002)
Chris@102 20
Chris@102 21 #define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, b) b
Chris@102 22 #define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, b) t
Chris@102 23
Chris@102 24 #else
Chris@102 25
Chris@102 26 #define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, ...) __VA_ARGS__
Chris@102 27 #define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, ...) t
Chris@102 28
Chris@102 29 #endif
Chris@102 30
Chris@102 31 #if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
Chris@102 32
Chris@102 33 #define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(param) \
Chris@102 34 BOOST_PP_IS_BEGIN_PARENS \
Chris@102 35 ( \
Chris@102 36 BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C param () \
Chris@102 37 ) \
Chris@102 38 /**/
Chris@102 39
Chris@102 40 #else
Chris@102 41
Chris@102 42 #define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(...) \
Chris@102 43 BOOST_PP_IS_BEGIN_PARENS \
Chris@102 44 ( \
Chris@102 45 BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \
Chris@102 46 ) \
Chris@102 47 /**/
Chris@102 48
Chris@102 49 #endif
Chris@102 50
Chris@102 51 #define BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b
Chris@102 52 #define BOOST_PP_DETAIL_IS_EMPTY_IIF(bit) BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(BOOST_PP_DETAIL_IS_EMPTY_IIF_,bit)
Chris@102 53 #define BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C(...) ()
Chris@102 54
Chris@102 55 #endif /* BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP */