1
0
forked from boostorg/mp11

Document mp_power_set

This commit is contained in:
Peter Dimov
2020-03-19 16:31:52 +02:00
parent 2c8ce53efb
commit a7a2c97383
2 changed files with 15 additions and 0 deletions

View File

@@ -284,6 +284,20 @@ It returns a list of the form `L1<V...>` containing the results of the applicati
As `mp_product`, but takes a quoted metafunction. As `mp_product`, but takes a quoted metafunction.
## mp_power_set<L>
template<class L> using mp_power_set = /*...*/;
`mp_power_set<L>` returns a list (of the same form as `L`) of all possible 2^n^ subsets of `L` (where `n` is the length of `L`.)
`mp_power_set<L<>>` returns `L<L<>>`.
`mp_power_set<L<T1>>` returns `L<L<>, L<T1>>`.
`mp_power_set<L<T1, T2>>` returns `L<L<>, L<T2>, L<T1>, L<T1, T2>>`.
`mp_power_set<L<T1, T...>>` returns the concatenation of `mp_power_set<L<T...>>` and that same list with `T1` prepended to each element.
## mp_drop_c<L, N> ## mp_drop_c<L, N>
template<class L, std::size_t N> using mp_drop_c = /*...*/; template<class L, std::size_t N> using mp_drop_c = /*...*/;

View File

@@ -16,6 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt
* Added `mp_flatten` * Added `mp_flatten`
* Added `mp_rotate_left`, `mp_rotate_right` (contributed by Duncan Barber) * Added `mp_rotate_left`, `mp_rotate_right` (contributed by Duncan Barber)
* Added `mp_compose` * Added `mp_compose`
* Added `mp_power_set`
## Changes in 1.70.0 ## Changes in 1.70.0