diff --git a/include/boost/preprocessor/seq/reverse.hpp b/include/boost/preprocessor/seq/reverse.hpp index be30ba3..338d777 100644 --- a/include/boost/preprocessor/seq/reverse.hpp +++ b/include/boost/preprocessor/seq/reverse.hpp @@ -13,37 +13,16 @@ # define BOOST_PREPROCESSOR_SEQ_REVERSE_HPP # # include -# include -# include -# include # include -# include -# include -# include # include -# include -# include # # /* BOOST_PP_SEQ_REVERSE */ # # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# if BOOST_PP_LIMIT_SEQ == 256 -# define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() -# else -# define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_REVERSE_HALVES(BOOST_PP_DIV(BOOST_PP_SEQ_SIZE(seq),2),seq) -# define BOOST_PP_SEQ_REVERSE_HALVES(half,seq) \ - BOOST_PP_IF(half,BOOST_PP_SEQ_REVERSE_NAMT,BOOST_PP_IDENTITY_N(seq,2))(half,seq) -# define BOOST_PP_SEQ_REVERSE_NAMT(half,seq) \ - BOOST_PP_SEQ_DO_REVERSE(BOOST_PP_SEQ_REST_N(half,seq)) BOOST_PP_SEQ_DO_REVERSE(BOOST_PP_SEQ_FIRST_N(half,seq)) -# define BOOST_PP_SEQ_DO_REVERSE(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() -# endif +# define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() # else # define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_REVERSE_I(seq) -# if BOOST_PP_LIMIT_SEQ == 256 -# define BOOST_PP_SEQ_REVERSE_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() -# else -# define BOOST_PP_SEQ_REVERSE_I(seq) BOOST_PP_SEQ_REVERSE_HALVES(BOOST_PP_DIV(BOOST_PP_SEQ_SIZE(seq),2),seq) -# endif +# define BOOST_PP_SEQ_REVERSE_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() # endif # # define BOOST_PP_SEQ_REVERSE_O(s, state, elem) (elem) state @@ -51,23 +30,10 @@ # /* BOOST_PP_SEQ_REVERSE_S */ # # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# if BOOST_PP_LIMIT_SEQ == 256 -# define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() -# else -# define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_REVERSE_HALVES_S(s,BOOST_PP_DIV(BOOST_PP_SEQ_SIZE(seq),2),seq) -# define BOOST_PP_SEQ_REVERSE_HALVES_S(s,half,seq) \ - BOOST_PP_IF(half,BOOST_PP_SEQ_REVERSE_NAMT_S,BOOST_PP_IDENTITY_N(seq,3))(s,half,seq) -# define BOOST_PP_SEQ_REVERSE_NAMT_S(s,half,seq) \ - BOOST_PP_SEQ_DO_REVERSE_S(s,BOOST_PP_SEQ_REST_N(half,seq)) BOOST_PP_SEQ_DO_REVERSE_S(s,BOOST_PP_SEQ_FIRST_N(half,seq)) -# define BOOST_PP_SEQ_DO_REVERSE_S(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() -# endif +# define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() # else # define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_REVERSE_S_I(s, seq) -# if BOOST_PP_LIMIT_SEQ == 256 -# define BOOST_PP_SEQ_REVERSE_S_I(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() -# else -# define BOOST_PP_SEQ_REVERSE_S_I(s, seq) BOOST_PP_SEQ_REVERSE_HALVES_S(s,BOOST_PP_DIV(BOOST_PP_SEQ_SIZE(seq),2),seq) -# endif +# define BOOST_PP_SEQ_REVERSE_S_I(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() # endif # # endif