forked from boostorg/mp11
Update documentation
This commit is contained in:
@@ -2092,6 +2092,45 @@ using L2 = mp_list<int, float>;
|
||||
using R1 = mp_assign<L1, L2>; // std::pair<int, float></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 1. mp_assign</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L2</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_assign<L1, L2></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_clear_l">mp_clear<L></h4>
|
||||
@@ -2152,7 +2191,7 @@ using R1 = mp_all<mp_transform<eq, L1, L2>>; // mp_true</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 1. mp_transform on one list</caption>
|
||||
<caption class="title">Illustration 2. mp_transform on one list</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
@@ -2160,37 +2199,28 @@ using R1 = mp_all<mp_transform<eq, L1, L2>>; // mp_true</code></pre>
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="tableblock halign-center valign-middle">List</th>
|
||||
<th class="tableblock halign-center valign-middle" colspan="4">Contents</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A0</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A1</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>An</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_transform<F, L1></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A0></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A1></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>1</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>2</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<An></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>n</sub>></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 2. mp_transform on two lists</caption>
|
||||
<caption class="title">Illustration 3. mp_transform on two lists</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
@@ -2198,42 +2228,33 @@ using R1 = mp_all<mp_transform<eq, L1, L2>>; // mp_true</code></pre>
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="tableblock halign-center valign-middle">List</th>
|
||||
<th class="tableblock halign-center valign-middle" colspan="4">Contents</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A0</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A1</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>An</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L2</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B0</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B1</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>Bn</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_transform<F, L1, L2></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A0,B0></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A1,B1></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>1</sub>,B<sub>1</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>2</sub>,B<sub>2</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<An,Bn></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>n</sub>,B<sub>n</sub>></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -2258,6 +2279,45 @@ using R1 = mp_apply<mp_plus,
|
||||
mp_transform_q<mp_bind_front<std::is_same, void>, L1>>; // mp_int<2></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 4. mp_transform_q on two lists</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L2</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_transform_q<Q, L1, L2></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>Q::fn<A<sub>1</sub>,B<sub>1</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>Q::fn<A<sub>2</sub>,B<sub>2</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>Q::fn<A<sub>n</sub>,B<sub>n</sub>></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_transform_if_p_f_l">mp_transform_if<P, F, L…​></h4>
|
||||
@@ -2284,6 +2344,55 @@ using R1 = mp_transform_if<first_is_void, second, L1, L2>;
|
||||
// std::tuple<char[1], int, float, char[4], int></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 5. mp_transform_if</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>P<A<sub>i</sub>></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_false</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_true</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_false</code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L2</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_transform_if<P, F, L1, L2></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>2</sub>,B<sub>2</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_transform_if_q_qp_qf_l">mp_transform_if_q<Qp, Qf, L…​></h4>
|
||||
@@ -2306,6 +2415,55 @@ using R1 = mp_transform_if_q<mp_bind<std::is_same, _1, void>, _2, L1, L
|
||||
// std::tuple<char[1], int, float, char[4], int></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 6. mp_transform_if_q</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>Qp::fn<A<sub>i</sub>></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_false</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_true</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_false</code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L2</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_transform_if_q<Qp, _2, L1, L2></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_fill_l_v">mp_fill<L, V></h4>
|
||||
@@ -2331,6 +2489,35 @@ using R1 = mp_fill<L1, double>; // std::tuple<double, double, double>
|
||||
using R1 = mp_fill<L1, void>; // std::pair<void, void></code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 7. mp_fill</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_fill<L1, V></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>V</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>V</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>V</code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_count_l_v">mp_count<L, V></h4>
|
||||
@@ -2400,7 +2587,7 @@ the Cartesian product of the lists, as if the elements <code>Ui</code> are forme
|
||||
It returns a list of type <code>L1</code> containing the results of the application of <code>F</code>.</p>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 3. mp_product on two lists</caption>
|
||||
<caption class="title">Illustration 8. mp_product on two lists</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
@@ -2408,51 +2595,51 @@ It returns a list of type <code>L1</code> containing the results of the applicat
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="tableblock halign-center valign-middle">List</th>
|
||||
<th class="tableblock halign-center valign-middle" colspan="4">Contents</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A0</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A1</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>An</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L2</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B0</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B1</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>Bm</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>B<sub>m</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_product<F, L1, L2></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A0,B0>
|
||||
F<A0,B1>
|
||||
…​
|
||||
F<A0,Bm></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A1,B0>
|
||||
F<A1,B1>
|
||||
…​
|
||||
F<A1,Bm></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>1</sub>,B<sub>1</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>1</sub>,B<sub>2</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<An,B0>
|
||||
F<An,B1>
|
||||
…​
|
||||
F<An,Bm></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>1</sub>,B<sub>m</sub>></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>2</sub>,B<sub>1</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>2</sub>,B<sub>2</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>2</sub>,B<sub>m</sub>></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"></td>
|
||||
<td class="tableblock halign-center valign-middle" colspan="4"><p class="tableblock"><code>…​</code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>n</sub>,B<sub>1</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>n</sub>,B<sub>2</sub>></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>F<A<sub>n</sub>,B<sub>m</sub>></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -2513,6 +2700,25 @@ F<An,Bm></code></p></td>
|
||||
<code>mp_list<std::integral_constant<T, 0>, std::integral_constant<T, 1>, …​, std::integral_constant<T, N::value-1>></code>
|
||||
where <code>T</code> is the type of <code>N::value</code>.</p>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 9. mp_iota</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_iota<mp_int<4>></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_int<0></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_int<1></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_int<2></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_int<3></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_at_c_l_i">mp_at_c<L, I></h4>
|
||||
@@ -2616,6 +2822,35 @@ where <code>T</code> is the type of <code>N::value</code>.</p>
|
||||
<div class="paragraph">
|
||||
<p>Replaces all <code>V</code> elements of <code>L</code> with <code>W</code> and returns the result.</p>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 10. mp_replace</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>V</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_replace<L1, V, W></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>W</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_replace_if_l_p_w">mp_replace_if<L, P, W></h4>
|
||||
@@ -2627,6 +2862,45 @@ where <code>T</code> is the type of <code>N::value</code>.</p>
|
||||
<div class="paragraph">
|
||||
<p>Replaces all <code>T</code> elements of <code>L</code> for which <code>mp_to_bool<P<T>></code> is <code>mp_true</code> with <code>W</code> and returns the result.</p>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 11. mp_replace_if</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>P<A<sub>i</sub>></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_false</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_true</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>mp_false</code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_replace_if<L1, P, W></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>W</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_replace_at_c_l_i_w">mp_replace_at_c<L, I, W></h4>
|
||||
@@ -2750,6 +3024,35 @@ is <code>mp_size<L></code>.</p>
|
||||
<div class="paragraph">
|
||||
<p><code>mp_reverse<L<T1, T2, …​, Tn>></code> is <code>L<Tn, …​, T2, T1></code>.</p>
|
||||
</div>
|
||||
<table class="tableblock frame-all grid-all" style="width: 85%;">
|
||||
<caption class="title">Illustration 12. mp_reverse</caption>
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
<col style="width: 12.5%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>L1</strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>2</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle" colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-middle"><p class="tableblock"><code><strong>mp_reverse<L1></strong></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>n-1</sub></code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>…​</code></p></td>
|
||||
<td class="tableblock halign-center valign-middle"><p class="tableblock"><code>A<sub>1</sub></code></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="mp_fold_l_v_f">mp_fold<L, V, F></h4>
|
||||
@@ -3377,8 +3680,41 @@ expression <code>f(std::get<J>(std::forward<Tp>(tp)))</code> for <co
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2017-06-10 03:46:37 GTBDT
|
||||
Last updated 2017-06-11 03:50:25 GTBDT
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
|
||||
*:not(pre)>code { background: none; color: #600000; }
|
||||
table tr.even, table tr.alt, table tr:nth-of-type(even) { background: none; }
|
||||
|
||||
</style>
|
||||
|
||||
<script>
|
||||
|
||||
var header = document.getElementById( 'boost-common-heading-doc' );
|
||||
|
||||
if( header )
|
||||
{
|
||||
header.style.position = 'fixed';
|
||||
header.style.zIndex = '100';
|
||||
|
||||
var notice = document.getElementsByClassName( 'boost-common-header-notice' )[ 0 ];
|
||||
|
||||
if( notice )
|
||||
{
|
||||
notice.style.position = 'fixed';
|
||||
notice.style.zIndex = '101';
|
||||
}
|
||||
|
||||
var toc = document.getElementById( 'toc' );
|
||||
|
||||
if( toc )
|
||||
{
|
||||
toc.style.top = '101px';
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
33
doc/mp11-docinfo-footer.html
Normal file
33
doc/mp11-docinfo-footer.html
Normal file
@@ -0,0 +1,33 @@
|
||||
<style>
|
||||
|
||||
*:not(pre)>code { background: none; color: #600000; }
|
||||
table tr.even, table tr.alt, table tr:nth-of-type(even) { background: none; }
|
||||
|
||||
</style>
|
||||
|
||||
<script>
|
||||
|
||||
var header = document.getElementById( 'boost-common-heading-doc' );
|
||||
|
||||
if( header )
|
||||
{
|
||||
header.style.position = 'fixed';
|
||||
header.style.zIndex = '100';
|
||||
|
||||
var notice = document.getElementsByClassName( 'boost-common-header-notice' )[ 0 ];
|
||||
|
||||
if( notice )
|
||||
{
|
||||
notice.style.position = 'fixed';
|
||||
notice.style.zIndex = '101';
|
||||
}
|
||||
|
||||
var toc = document.getElementById( 'toc' );
|
||||
|
||||
if( toc )
|
||||
{
|
||||
toc.style.top = '101px';
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
@@ -14,6 +14,7 @@ Peter Dimov
|
||||
:idprefix:
|
||||
:listing-caption: Code Example
|
||||
:table-caption: Illustration
|
||||
:docinfo: private-footer
|
||||
|
||||
:leveloffset: +1
|
||||
|
||||
|
@@ -35,6 +35,16 @@ using L2 = mp_list<int, float>;
|
||||
using R1 = mp_assign<L1, L2>; // std::pair<int, float>
|
||||
```
|
||||
|
||||
.mp_assign
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*L2*|B~1~|B~2~|...|B~n~
|
||||
5+|
|
||||
|*mp_assign<L1, L2>*|B~1~|B~2~|...|B~n~
|
||||
|===
|
||||
|
||||
## mp_clear<L>
|
||||
|
||||
template<class L> using mp_clear = mp_assign<L, mp_list<>>;
|
||||
@@ -81,27 +91,21 @@ using R1 = mp_all<mp_transform<eq, L1, L2>>; // mp_true
|
||||
```
|
||||
|
||||
.mp_transform on one list
|
||||
[cols="<.^4m,4*^.^1m",options="header",width=85%]
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
^|List
|
||||
4+|Contents
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*L1*|A0|A1|...|An
|
||||
5+|
|
||||
|*mp_transform<F, L1>*|F<A0>|F<A1>|...|F<An>
|
||||
|*mp_transform<F, L1>*|F<A~1~>|F<A~2~>|...|F<A~n~>
|
||||
|===
|
||||
|
||||
.mp_transform on two lists
|
||||
[cols="<.^4m,4*^.^1m",options="header",width=85%]
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
^|List
|
||||
4+|Contents
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*L1*|A0|A1|...|An
|
||||
|*L2*|B~1~|B~2~|...|B~n~
|
||||
5+|
|
||||
|*L2*|B0|B1|...|Bn
|
||||
5+|
|
||||
|*mp_transform<F, L1, L2>*|F<A0,B0>|F<A1,B1>|...|F<An,Bn>
|
||||
|*mp_transform<F, L1, L2>*|F<A~1~,B~1~>|F<A~2~,B~2~>|...|F<A~n~,B~n~>
|
||||
|===
|
||||
|
||||
## mp_transform_q<Q, L...>
|
||||
@@ -119,6 +123,16 @@ using R1 = mp_apply<mp_plus,
|
||||
mp_transform_q<mp_bind_front<std::is_same, void>, L1>>; // mp_int\<2>
|
||||
```
|
||||
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
.mp_transform_q on two lists
|
||||
|===
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*L2*|B~1~|B~2~|...|B~n~
|
||||
5+|
|
||||
|*mp_transform_q<Q, L1, L2>*|Q::fn<A~1~,B~1~>|Q::fn<A~2~,B~2~>|...|Q::fn<A~n~,B~n~>
|
||||
|===
|
||||
|
||||
## mp_transform_if<P, F, L...>
|
||||
|
||||
template<template<class...> class P, template<class...> class F, class L...>
|
||||
@@ -139,6 +153,18 @@ using R1 = mp_transform_if<first_is_void, second, L1, L2>;
|
||||
// std::tuple<char[1], int, float, char[4], int>
|
||||
```
|
||||
|
||||
.mp_transform_if
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*P<A~i~>*|mp_false|mp_true|...|mp_false
|
||||
5+|
|
||||
|*L2*|B~1~|B~2~|...|B~n~
|
||||
5+|
|
||||
|*mp_transform_if<P, F, L1, L2>*|A~1~|F<A~2~,B~2~>|...|A~n~
|
||||
|===
|
||||
|
||||
## mp_transform_if_q<Qp, Qf, L...>
|
||||
|
||||
template<class Qp, class Qf, class... L> using mp_transform_if_q =
|
||||
@@ -155,6 +181,18 @@ using R1 = mp_transform_if_q<mp_bind<std::is_same, _1, void>, _2, L1, L2>;
|
||||
// std::tuple<char[1], int, float, char[4], int>
|
||||
```
|
||||
|
||||
.mp_transform_if_q
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*Qp::fn<A~i~>*|mp_false|mp_true|...|mp_false
|
||||
5+|
|
||||
|*L2*|B~1~|B~2~|...|B~n~
|
||||
5+|
|
||||
|*mp_transform_if_q<Qp, _2, L1, L2>*|A~1~|B~2~|...|A~n~
|
||||
|===
|
||||
|
||||
## mp_fill<L, V>
|
||||
|
||||
template<class L, class V> using mp_fill = /*...*/;
|
||||
@@ -173,6 +211,14 @@ using L1 = std::pair<int, float>;
|
||||
using R1 = mp_fill<L1, void>; // std::pair<void, void>
|
||||
```
|
||||
|
||||
.mp_fill
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*mp_fill<L1, V>*|V|V|...|V
|
||||
|===
|
||||
|
||||
## mp_count<L, V>
|
||||
|
||||
template<class L, class V> using mp_count = /*...*/;
|
||||
@@ -212,29 +258,17 @@ the Cartesian product of the lists, as if the elements `Ui` are formed by `n` ne
|
||||
It returns a list of type `L1` containing the results of the application of `F`.
|
||||
|
||||
.mp_product on two lists
|
||||
[cols="<.^4m,4*^.^1m",options="header",width=85%]
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
^|List
|
||||
4+|Contents
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*L1*|A0|A1|...|An
|
||||
|*L2*|B~1~|B~2~|...|B~m~
|
||||
5+|
|
||||
|*L2*|B0|B1|...|Bm
|
||||
5+|
|
||||
|*mp_product<F, L1, L2>*
|
||||
|F<A0,B0>
|
||||
F<A0,B1>
|
||||
...
|
||||
F<A0,Bm>
|
||||
|F<A1,B0>
|
||||
F<A1,B1>
|
||||
...
|
||||
F<A1,Bm>
|
||||
|...
|
||||
|F<An,B0>
|
||||
F<An,B1>
|
||||
...
|
||||
F<An,Bm>
|
||||
|*mp_product<F, L1, L2>*|F<A~1~,B~1~>|F<A~1~,B~2~>|...|F<A~1~,B~m~>
|
||||
||F<A~2~,B~1~>|F<A~2~,B~2~>|...|F<A~2~,B~m~>
|
||||
|
|
||||
4+|...
|
||||
||F<A~n~,B~1~>|F<A~n~,B~2~>|...|F<A~n~,B~m~>
|
||||
|===
|
||||
|
||||
## mp_product_q<Q, L...>
|
||||
@@ -269,6 +303,12 @@ Same as `mp_iota_c`, but with a type argument `N`. `N::value` must be a nonnegat
|
||||
`mp_list<std::integral_constant<T, 0>, std::integral_constant<T, 1>, ..., std::integral_constant<T, N::value-1>>`
|
||||
where `T` is the type of `N::value`.
|
||||
|
||||
.mp_iota
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
|*mp_iota<mp_int<4>>*|mp_int<0>|mp_int<1>|mp_int<2>|mp_int<3>
|
||||
|===
|
||||
|
||||
## mp_at_c<L, I>
|
||||
|
||||
template<class L, std::size_t I> using mp_at_c = /*...*/;
|
||||
@@ -327,12 +367,30 @@ Same as `mp_erase_c`, but with a type arguments `I` and `J`.
|
||||
|
||||
Replaces all `V` elements of `L` with `W` and returns the result.
|
||||
|
||||
.mp_replace
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
|*L1*|A~1~|V|...|A~n~
|
||||
5+|
|
||||
|*mp_replace<L1, V, W>*|A~1~|W|...|A~n~
|
||||
|===
|
||||
|
||||
## mp_replace_if<L, P, W>
|
||||
|
||||
template<class L, template<class...> class P, class W> using mp_replace_if = /*...*/;
|
||||
|
||||
Replaces all `T` elements of `L` for which `mp_to_bool<P<T>>` is `mp_true` with `W` and returns the result.
|
||||
|
||||
.mp_replace_if
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*P<A~i~>*|mp_false|mp_true|...|mp_false
|
||||
5+|
|
||||
|*mp_replace_if<L1, P, W>*|A~1~|W|...|A~n~
|
||||
|===
|
||||
|
||||
## mp_replace_at_c<L, I, W>
|
||||
|
||||
template<class L, std::size_t I, class W> using mp_replace_at_c = /*...*/;
|
||||
@@ -405,6 +463,14 @@ is `mp_size<L>`.
|
||||
|
||||
`mp_reverse<L<T1, T2, ..., Tn>>` is `L<Tn, ..., T2, T1>`.
|
||||
|
||||
.mp_reverse
|
||||
[cols="<.^4m,4*^.^1m",width=85%]
|
||||
|===
|
||||
|*L1*|A~1~|A~2~|...|A~n~
|
||||
5+|
|
||||
|*mp_reverse<L1>*|A~n~|A~n-1~|...|A~1~
|
||||
|===
|
||||
|
||||
## mp_fold<L, V, F>
|
||||
|
||||
template<class L, class V, template<class...> class F> using mp_fold = /*...*/;
|
||||
|
Reference in New Issue
Block a user