annotate DEPENDENCIES/generic/include/boost/preprocessor/punctuation/remove_parens.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_REMOVE_PARENS_HPP
Chris@102 13 #define BOOST_PREPROCESSOR_REMOVE_PARENS_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/control/iif.hpp>
Chris@102 20 #include <boost/preprocessor/facilities/identity.hpp>
Chris@102 21 #include <boost/preprocessor/punctuation/is_begin_parens.hpp>
Chris@102 22 #include <boost/preprocessor/tuple/enum.hpp>
Chris@102 23
Chris@102 24 #define BOOST_PP_REMOVE_PARENS(param) \
Chris@102 25 BOOST_PP_IIF \
Chris@102 26 ( \
Chris@102 27 BOOST_PP_IS_BEGIN_PARENS(param), \
Chris@102 28 BOOST_PP_REMOVE_PARENS_DO, \
Chris@102 29 BOOST_PP_IDENTITY \
Chris@102 30 ) \
Chris@102 31 (param)() \
Chris@102 32 /**/
Chris@102 33
Chris@102 34 #define BOOST_PP_REMOVE_PARENS_DO(param) \
Chris@102 35 BOOST_PP_IDENTITY(BOOST_PP_TUPLE_ENUM(param)) \
Chris@102 36 /**/
Chris@102 37
Chris@102 38 #endif /* BOOST_PP_VARIADICS */
Chris@102 39 #endif /* BOOST_PREPROCESSOR_REMOVE_PARENS_HPP */