The BOOST_PP_LIST_TO_TUPLE_R macro converts a list to a tuple. It reenters BOOST_PP_FOR with maximum efficiency.

#### Usage

BOOST_PP_LIST_TO_TUPLE_R(r, list)

#### Arguments

r
  The next available BOOST_PP_FOR repetition.
list
  The list to be converted.

#### Remarks

If list is, for example, (a, (b, (c, BOOST_PP_NIL))), this macro will produce:
(a, b, c)

#### See Also

- BOOST_PP_LIST_TO_TUPLE

#### Requirements

Header: <boost/preprocessor/list/to_tuple.hpp>

#### Sample Code

    #include <boost/preprocessor/list/adt.hpp>
    #include <boost/preprocessor/repetition/for.hpp>
    #include <boost/preprocessor/list/to_tuple.hpp>

    #define LIST (x, (y, (z, BOOST_PP_NIL)))

    #define PRED(r, state) BOOST_PP_LIST_IS_CONS(state)
    #define OP(r, state) BOOST_PP_LIST_REST(state)
    #define MACRO(r, state) BOOST_PP_LIST_TO_TUPLE_R(r, state)

    BOOST_PP_FOR(LIST, PRED, OP, MACRO)
       // expands to (x, y, z) (y, z) (z)