diff options
Diffstat (limited to 'boost/preprocessor/tuple/to_seq.hpp')
-rw-r--r-- | boost/preprocessor/tuple/to_seq.hpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/boost/preprocessor/tuple/to_seq.hpp b/boost/preprocessor/tuple/to_seq.hpp index 1fb7b811c7..a53f5a00e6 100644 --- a/boost/preprocessor/tuple/to_seq.hpp +++ b/boost/preprocessor/tuple/to_seq.hpp @@ -16,6 +16,7 @@ # include <boost/preprocessor/cat.hpp> # include <boost/preprocessor/config/config.hpp> # include <boost/preprocessor/facilities/overload.hpp> +# include <boost/preprocessor/tuple/size.hpp> # include <boost/preprocessor/variadic/size.hpp> # # /* BOOST_PP_TUPLE_TO_SEQ */ @@ -25,10 +26,11 @@ # define BOOST_PP_TUPLE_TO_SEQ(...) BOOST_PP_TUPLE_TO_SEQ_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_SEQ_O_, __VA_ARGS__), (__VA_ARGS__)) # define BOOST_PP_TUPLE_TO_SEQ_I(m, args) BOOST_PP_TUPLE_TO_SEQ_II(m, args) # define BOOST_PP_TUPLE_TO_SEQ_II(m, args) BOOST_PP_CAT(m ## args,) +# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_TUPLE_SIZE(tuple)) tuple # else # define BOOST_PP_TUPLE_TO_SEQ(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_SEQ_O_, __VA_ARGS__)(__VA_ARGS__) +# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_VARIADIC_SIZE tuple) tuple # endif -# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_VARIADIC_SIZE tuple) tuple # define BOOST_PP_TUPLE_TO_SEQ_O_2(size, tuple) BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) # else # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() @@ -46,6 +48,9 @@ # endif # endif # +/* An empty array can be passed */ +# define BOOST_PP_TUPLE_TO_SEQ_0() () +# # define BOOST_PP_TUPLE_TO_SEQ_1(e0) (e0) # define BOOST_PP_TUPLE_TO_SEQ_2(e0, e1) (e0)(e1) # define BOOST_PP_TUPLE_TO_SEQ_3(e0, e1, e2) (e0)(e1)(e2) |