From 083453705c822e56394be69735586838b192e72d Mon Sep 17 00:00:00 2001
From: Peter Dimov
+
+
+
+L1
+A1
+A2
+…
+An
+
+
+
+
+
+L2
+B1
+B2
+…
+Bn
+
+
+
+
+
+
+mp_assign<L1, L2>
+B1
+B2
+…
+Bn
mp_clear<L>
@@ -2152,7 +2191,7 @@ using R1 = mp_all<mp_transform<eq, L1, L2>>; // mp_true
-
-
-
List
-Contents
-
-
-
-
-L1
-A0
+A1
+A1
A2
-…
+An
An
-mp_transform<F, L1>
-F<A0>
+F<A1>
+F<A1>
F<A2>
-…
+F<An>
F<An>
-
@@ -2258,6 +2279,45 @@ using R1 = mp_apply<mp_plus,
mp_transform_q<mp_bind_front<std::is_same, void>, L1>>; // mp_int<2>
+
-
-
List
-Contents
-
-
-
-
-L1
-A0
+A1
+A1
A2
-…
+An
An
-L2
-B0
+B1
+B1
B2
-…
+Bn
Bn
-mp_transform<F, L1, L2>
-F<A0,B0>
+F<A1,B1>
+F<A1,B1>
F<A2,B2>
-…
+F<An,Bn>
F<An,Bn>
+
+
+
+L1
+A1
+A2
+…
+An
+
+
+
+
+
+L2
+B1
+B2
+…
+Bn
+
+
+
+
+
+
+mp_transform_q<Q, L1, L2>
+Q::fn<A1,B1>
+Q::fn<A2,B2>
+…
+Q::fn<An,Bn>
mp_transform_if<P, F, L…>
@@ -2284,6 +2344,55 @@ using R1 = mp_transform_if<first_is_void, second, L1, L2>;
// std::tuple<char[1], int, float, char[4], int>
+
+
+
+L1
+A1
+A2
+…
+An
+
+
+
+
+
+P<Ai>
+mp_false
+mp_true
+…
+mp_false
+
+
+
+
+
+L2
+B1
+B2
+…
+Bn
+
+
+
+
+
+
+mp_transform_if<P, F, L1, L2>
+A1
+F<A2,B2>
+…
+An
mp_transform_if_q<Qp, Qf, L…>
@@ -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>
+
+
+
+L1
+A1
+A2
+…
+An
+
+
+
+
+
+Qp::fn<Ai>
+mp_false
+mp_true
+…
+mp_false
+
+
+
+
+
+L2
+B1
+B2
+…
+Bn
+
+
+
+
+
+
+mp_transform_if_q<Qp, _2, L1, L2>
+A1
+B2
+…
+An
mp_fill<L, V>
@@ -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>
+
+
+
+L1
+A1
+A2
+…
+An
+
+
+
+
+
+
+mp_fill<L1, V>
+V
+V
+…
+V
mp_count<L, V>
@@ -2400,7 +2587,7 @@ the Cartesian product of the lists, as if the elements Ui
are forme
It returns a list of type L1
containing the results of the application of F
.
-
@@ -2513,6 +2700,25 @@ F<An,Bm>L1
containing the results of the applicat
-
-
List
-Contents
-
-
-
-
-L1
-A0
+A1
+A1
A2
-…
+An
An
-L2
-B0
+B1
+B1
B2
-…
+Bm
Bm
+
-mp_product<F, L1, L2>
-F<A0,B0>
-F<A0,B1>
-…
-F<A0,Bm>
+F<A1,B0>
-F<A1,B1>
-…
-F<A1,Bm>
+F<A1,B1>
F<A1,B2>
-…
+F<An,B0>
-F<An,B1>
-…
-F<An,Bm>
+F<A1,Bm>
+
+
+
+F<A2,B1>
+F<A2,B2>
+…
+F<A2,Bm>
+
+
+
+…
+
+
+F<An,B1>
+F<An,B2>
+…
F<An,Bm>
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
.
+
|
+
|
+
|
+
|
+
|
+
T
is the type of N::value
.
Replaces all V
elements of L
with W
and returns the result.
|
+
|
+
|
+
|
+
|
+
+ | ||||
|
+
|
+
|
+
|
+
|
+
T
is the type of N::value
.
Replaces all T
elements of L
for which mp_to_bool<P<T>>
is mp_true
with W
and returns the result.
|
+
|
+
|
+
|
+
|
+
+ | ||||
|
+
|
+
|
+
|
+
|
+
+ | ||||
|
+
|
+
|
+
|
+
|
+
mp_size<L>
.
mp_reverse<L<T1, T2, …, Tn>>
is L<Tn, …, T2, T1>
.
|
+
|
+
|
+
|
+
|
+
+ | ||||
|
+
|
+
|
+
|
+
|
+
f(std::get<J>(std::forward<Tp>(tp)))
for