The BOOST_PP_LIST_CAT_D macro concatenates all elements in a list. It reenters BOOST_PP_WHILE with maximum efficiency.

#### Usage

BOOST_PP_LIST_CAT_D(d, list)

#### Arguments

d
  The next available BOOST_PP_WHILE iteration.
list
  The list whose elements are to be concatenated.

#### Remarks

Elements are concatenated left-to-right starting with index 0.

#### See Also

- BOOST_PP_LIST_CAT

#### Requirements

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

#### Sample Code

    #include <boost/preprocessor/cat.hpp>
    #include <boost/preprocessor/list/cat.hpp>
    #include <boost/preprocessor/list/fold_left.hpp>

    #define LISTS \
       ((a, (b, BOOST_PP_NIL)), \
          ((d, (e, BOOST_PP_NIL)), \
             ((e, (f, BOOST_PP_NIL)), \
                BOOST_PP_NIL))) \
       /**/

    #define OP(d, state, x) BOOST_PP_CAT(state, BOOST_PP_LIST_CAT_D(d, x))

    BOOST_PP_LIST_FOLD_LEFT(OP, _, LISTS) // expands to _abcdef