⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 replace.hpp

📁 CGAL is a collaborative effort of several sites in Europe and Israel. The goal is to make the most i
💻 HPP
字号:
# /* **************************************************************************#  *                                                                          *#  *     (C) Copyright Paul Mensonides 2002.#  *     Distributed under the Boost Software License, Version 1.0. (See#  *     accompanying file LICENSE_1_0.txt or copy at#  *     http://www.boost.org/LICENSE_1_0.txt)#  *                                                                          *#  ************************************************************************** */## /* See http://www.boost.org for most recent version. */## ifndef BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP# define BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP## include <boost/preprocessor/arithmetic/inc.hpp># include <boost/preprocessor/array/elem.hpp># include <boost/preprocessor/array/push_back.hpp># include <boost/preprocessor/comparison/not_equal.hpp># include <boost/preprocessor/config/config.hpp># include <boost/preprocessor/control/deduce_d.hpp># include <boost/preprocessor/control/iif.hpp># include <boost/preprocessor/control/while.hpp># include <boost/preprocessor/tuple/elem.hpp>## /* BOOST_PP_ARRAY_REPLACE */## define BOOST_PP_ARRAY_REPLACE(array, i, elem) BOOST_PP_ARRAY_REPLACE_I(BOOST_PP_DEDUCE_D(), array, i, elem)# define BOOST_PP_ARRAY_REPLACE_I(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem)## /* BOOST_PP_ARRAY_REPLACE_D */## if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()#    define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REPLACE_P, BOOST_PP_ARRAY_REPLACE_O, (0, i, elem, (0, ()), array)))# else#    define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem)#    define BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REPLACE_P, BOOST_PP_ARRAY_REPLACE_O, (0, i, elem, (0, ()), array)))# endif## define BOOST_PP_ARRAY_REPLACE_P(d, state) BOOST_PP_NOT_EQUAL(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_ELEM(5, 4, state)))## if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()#    define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I state# else#    define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_TUPLE_ELEM(5, 1, state), BOOST_PP_TUPLE_ELEM(5, 2, state), BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state))# endif## define BOOST_PP_ARRAY_REPLACE_O_I(n, i, elem, res, arr) (BOOST_PP_INC(n), i, elem, BOOST_PP_ARRAY_PUSH_BACK(res, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_ELEM(n, arr), elem)), arr)## endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -