annotate DEPENDENCIES/generic/include/boost/preprocessor/tuple/remove.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents f46d142149f5
children
rev   line source
Chris@102 1 # /* **************************************************************************
Chris@102 2 # * *
Chris@102 3 # * (C) Copyright Edward Diener 2013.
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_TUPLE_REMOVE_HPP
Chris@102 13 # define BOOST_PREPROCESSOR_TUPLE_REMOVE_HPP
Chris@102 14 #
Chris@102 15 # include <boost/preprocessor/config/config.hpp>
Chris@102 16 #
Chris@102 17 # if BOOST_PP_VARIADICS
Chris@102 18 #
Chris@102 19 # include <boost/preprocessor/array/remove.hpp>
Chris@102 20 # include <boost/preprocessor/array/to_tuple.hpp>
Chris@102 21 # include <boost/preprocessor/comparison/greater.hpp>
Chris@102 22 # include <boost/preprocessor/control/iif.hpp>
Chris@102 23 # include <boost/preprocessor/tuple/size.hpp>
Chris@102 24 # include <boost/preprocessor/tuple/to_array.hpp>
Chris@102 25 #
Chris@102 26 # /* BOOST_PP_TUPLE_REMOVE */
Chris@102 27 #
Chris@102 28 # define BOOST_PP_TUPLE_REMOVE(tuple, i) \
Chris@102 29 BOOST_PP_IIF \
Chris@102 30 ( \
Chris@102 31 BOOST_PP_GREATER(BOOST_PP_TUPLE_SIZE(tuple),1), \
Chris@102 32 BOOST_PP_TUPLE_REMOVE_EXEC, \
Chris@102 33 BOOST_PP_TUPLE_REMOVE_RETURN \
Chris@102 34 ) \
Chris@102 35 (tuple, i) \
Chris@102 36 /**/
Chris@102 37 #
Chris@102 38 # define BOOST_PP_TUPLE_REMOVE_EXEC(tuple, i) \
Chris@102 39 BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_REMOVE(BOOST_PP_TUPLE_TO_ARRAY(tuple), i)) \
Chris@102 40 /**/
Chris@102 41 #
Chris@102 42 # define BOOST_PP_TUPLE_REMOVE_RETURN(tuple, i) tuple
Chris@102 43 #
Chris@102 44 # /* BOOST_PP_TUPLE_REMOVE_D */
Chris@102 45 #
Chris@102 46 # define BOOST_PP_TUPLE_REMOVE_D(d, tuple, i) \
Chris@102 47 BOOST_PP_IIF \
Chris@102 48 ( \
Chris@102 49 BOOST_PP_GREATER_D(d, BOOST_PP_TUPLE_SIZE(tuple), 1), \
Chris@102 50 BOOST_PP_TUPLE_REMOVE_D_EXEC, \
Chris@102 51 BOOST_PP_TUPLE_REMOVE_D_RETURN \
Chris@102 52 ) \
Chris@102 53 (d, tuple, i) \
Chris@102 54 /**/
Chris@102 55 #
Chris@102 56 # define BOOST_PP_TUPLE_REMOVE_D_EXEC(d, tuple, i) \
Chris@102 57 BOOST_PP_ARRAY_TO_TUPLE(BOOST_PP_ARRAY_REMOVE_D(d, BOOST_PP_TUPLE_TO_ARRAY(tuple), i)) \
Chris@102 58 /**/
Chris@102 59 #
Chris@102 60 # define BOOST_PP_TUPLE_REMOVE_D_RETURN(d, tuple, i) tuple
Chris@102 61 #
Chris@102 62 # endif // BOOST_PP_VARIADICS
Chris@102 63 #
Chris@102 64 # endif // BOOST_PREPROCESSOR_TUPLE_REMOVE_HPP