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
Requirements
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)), \
((c, (d, 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