3 <title>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R
</title>
4 <link rel=
"stylesheet" type=
"text/css" href=
"../styles.css">
7 <div style=
"margin-left: 0px;">
8 The
<b>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R
</b> macro repeats a macro for each
9 cartesian product of several
<i>seqs
</i>.
It reenters
<b>BOOST_PP_FOR
</b>
10 with maximum efficiency.
16 <b>BOOST_PP_SEQ_FOR_EACH_PRODUCT_R
</b>(
<i>r
</i>,
<i>macro
</i>,
<i>seqs
</i>)
24 The next available
<b>BOOST_PP_FOR
</b> repetition.
28 The binary macro of the form
<i>macro
</i>(
<i>r
</i>,
<i>product
</i>).
This
29 macro is expanded by
<b>BOOST_PP_FOR_EACH_PRODUCT
</b> with each cartesian
30 product in
<i>seqs
</i>.
It is expanded with the next available
<b>BOOST_PP_FOR
</b>
31 repetition and a
<i>seq
</i> containing a cartesian product.
35 A
<i>seq
</i> of
<i>seqs
</i> from which cartesian products are obtained.
42 This macro is a repetition construct.
If two
<i>seqs
</i> are (
<i>a
</i>)(
<i>b
</i>)(
<i>c
</i>)
43 and (
<i>x
</i>)(
<i>y
</i>)(
<i>z
</i>), this macro will produce the following
46 <i>macro
</i>(
<i>r
</i>, (
<i>a
</i>)(
<i>x
</i>))
<i>macro
</i>(
<i>r
</i>, (
<i>a
</i>)(
<i>y
</i>))
47 <i>macro
</i>(
<i>r
</i>, (
<i>a
</i>)(
<i>z
</i>)) \
49 <i>macro
</i>(
<i>r
</i>, (
<i>b
</i>)(
<i>x
</i>))
<i>macro
</i>(
<i>r
</i>, (
<i>b
</i>)(
<i>y
</i>))
50 <i>macro
</i>(
<i>r
</i>, (
<i>b
</i>)(
<i>z
</i>)) \
52 <i>macro
</i>(
<i>r
</i>, (
<i>c
</i>)(
<i>x
</i>))
<i>macro
</i>(
<i>r
</i>, (
<i>c
</i>)(
<i>y
</i>))
53 <i>macro
</i>(
<i>r
</i>, (
<i>c
</i>)(
<i>z
</i>))
61 <a href=
"seq_for_each_product.html">BOOST_PP_SEQ_FOR_EACH_PRODUCT
</a></li>
67 <b>Header:
</b> <a href=
"../headers/seq/for_each_product.html"><boost/preprocessor/seq/for_each_product.hpp
></a>
70 <div style=
"margin-left: 0px;">
71 <i>© Copyright
<a href=
"http://www.housemarque.com" target=
"_top">Housemarque Oy
</a> 2002</i>
72 </br><i>© Copyright Paul Mensonides
2002</i>
74 <div style=
"margin-left: 0px;">
75 <p><small>Distributed under the Boost Software License, Version
1.0. (See
76 accompanying file
<a href=
"../../../../LICENSE_1_0.txt">LICENSE_1_0.txt
</a> or
78 "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt
</a>)
</small></p>