File indexing completed on 2025-01-18 09:51:16
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #define BOOST_RANGE_combined_args(z, n, i) \
0011 BOOST_PP_CAT(R, n)&& BOOST_PP_CAT(r, n)
0012
0013 #define BOOST_RANGE_combined_range_iterator(z, n, i) \
0014 typename range_iterator< \
0015 typename remove_reference<BOOST_PP_CAT(R,n)>::type \
0016 >::type
0017
0018
0019 #define BOOST_RANGE_combine(z, n, data) \
0020 template <BOOST_PP_ENUM_PARAMS(n, typename R)> \
0021 inline range::combined_range< \
0022 tuple<BOOST_PP_ENUM(n, BOOST_RANGE_combined_range_iterator, ~)> \
0023 > \
0024 combine(BOOST_PP_ENUM(n, BOOST_RANGE_combined_args, ~)) \
0025 { \
0026 typedef tuple< \
0027 BOOST_PP_ENUM(n, BOOST_RANGE_combined_range_iterator, ~) \
0028 > rng_tuple_t; \
0029 return range::combined_range<rng_tuple_t>( \
0030 rng_tuple_t(BOOST_PP_ENUM(n, BOOST_RANGE_combined_seq, begin)), \
0031 rng_tuple_t(BOOST_PP_ENUM(n, BOOST_RANGE_combined_seq, end))); \
0032 }