From c776ac0002f484ab1fb087ae3d62efe581511f65 Mon Sep 17 00:00:00 2001 From: Steven Watanabe Date: Mon, 30 Aug 2010 02:26:02 +0000 Subject: [PATCH] Avoid evaluating BOOST_PP_SEQ_HEAD when it isn't needed. Fixes #4465. [SVN r65120] --- include/boost/preprocessor/seq/cat.hpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/boost/preprocessor/seq/cat.hpp b/include/boost/preprocessor/seq/cat.hpp index 0efd8e5..b6b09ff 100644 --- a/include/boost/preprocessor/seq/cat.hpp +++ b/include/boost/preprocessor/seq/cat.hpp @@ -26,7 +26,7 @@ BOOST_PP_IF( \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \ BOOST_PP_SEQ_CAT_I, \ - BOOST_PP_SEQ_HEAD(seq) BOOST_PP_TUPLE_EAT_1 \ + BOOST_PP_SEQ_HEAD \ )(seq) \ /**/ # define BOOST_PP_SEQ_CAT_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq)) @@ -39,10 +39,11 @@ # define BOOST_PP_SEQ_CAT_S(s, seq) \ BOOST_PP_IF( \ BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \ - BOOST_PP_SEQ_CAT_S_I, \ - BOOST_PP_SEQ_HEAD(seq) BOOST_PP_TUPLE_EAT_2 \ + BOOST_PP_SEQ_CAT_S_I_A, \ + BOOST_PP_SEQ_CAT_S_I_B \ )(s, seq) \ /**/ -# define BOOST_PP_SEQ_CAT_S_I(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq)) +# define BOOST_PP_SEQ_CAT_S_I_A(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq)) +# define BOOST_PP_SEQ_CAT_S_I_B(s, seq) BOOST_PP_SEQ_HEAD(seq) # # endif