]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/preprocessor/seq/rest_n.hpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / preprocessor / seq / rest_n.hpp
index cac52cff76af445db59d26ed2eaf2e344420bf02..1d6b6280ccf90b5e79da0e2b309d6ac42a9e48ef 100644 (file)
@@ -15,7 +15,7 @@
 # include <boost/preprocessor/arithmetic/inc.hpp>
 # include <boost/preprocessor/comparison/not_equal.hpp>
 # include <boost/preprocessor/config/config.hpp>
-# include <boost/preprocessor/control/expr_iif.hpp>
+# include <boost/preprocessor/control/iif.hpp>
 # include <boost/preprocessor/facilities/identity.hpp>
 # include <boost/preprocessor/logical/bitand.hpp>
 # include <boost/preprocessor/seq/detail/is_empty.hpp>
 #    define BOOST_PP_SEQ_REST_N_I(n, seq) BOOST_PP_SEQ_REST_N_DETAIL_EXEC(n, seq, BOOST_PP_SEQ_DETAIL_EMPTY_SIZE(seq))
 # endif
 #
+#    define BOOST_PP_SEQ_REST_N_DETAIL_EXEC_NO_MATCH(n, seq)
+#    define BOOST_PP_SEQ_REST_N_DETAIL_EXEC_MATCH(n, seq) \
+            BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), BOOST_PP_IDENTITY( (nil) seq )))() \
+/**/
 #    define BOOST_PP_SEQ_REST_N_DETAIL_EXEC(n, seq, size) \
-        BOOST_PP_EXPR_IIF \
+        BOOST_PP_IIF \
             ( \
             BOOST_PP_BITAND \
                 ( \
                 BOOST_PP_SEQ_DETAIL_IS_NOT_EMPTY_SIZE(size), \
                 BOOST_PP_NOT_EQUAL(n,size) \
                 ), \
-            BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), BOOST_PP_IDENTITY( (nil) seq )))() \
+            BOOST_PP_SEQ_REST_N_DETAIL_EXEC_MATCH, \
+            BOOST_PP_SEQ_REST_N_DETAIL_EXEC_NO_MATCH \
             ) \
+        (n, seq)  \
 /**/
 #
 # endif