2017-06-07 00:02:25 +03:00
|
|
|
////
|
|
|
|
|
Copyright 2017 Peter Dimov
|
2017-03-14 22:57:07 +02:00
|
|
|
|
2017-06-07 00:02:25 +03:00
|
|
|
Distributed under the Boost Software License, Version 1.0.
|
|
|
|
|
|
|
|
|
|
See accompanying file LICENSE_1_0.txt or copy at
|
|
|
|
|
http://www.boost.org/LICENSE_1_0.txt
|
|
|
|
|
////
|
|
|
|
|
|
|
|
|
|
[#set]
|
|
|
|
|
# Set Operations, <boost/mp11/set.hpp>
|
|
|
|
|
:toc:
|
2017-06-07 00:13:13 +03:00
|
|
|
:toc-title:
|
2017-06-07 00:02:25 +03:00
|
|
|
:idprefix:
|
2017-03-14 22:57:07 +02:00
|
|
|
|
|
|
|
|
A set is a list whose elements are unique.
|
|
|
|
|
|
2017-06-07 00:02:25 +03:00
|
|
|
## mp_set_contains<S, V>
|
|
|
|
|
|
2017-03-14 22:57:07 +02:00
|
|
|
template<class S, class V> using mp_set_contains = /*...*/;
|
|
|
|
|
|
|
|
|
|
`mp_set_contains<S, V>` is `mp_true` if the type `V` is an element of the set `S`, `mp_false` otherwise.
|
|
|
|
|
|
2017-06-07 00:02:25 +03:00
|
|
|
## mp_set_push_back<S, T...>
|
|
|
|
|
|
2017-03-14 22:57:07 +02:00
|
|
|
template<class S, class... T> using mp_set_push_back = /*...*/;
|
|
|
|
|
|
|
|
|
|
For each `T1` in `T...`, `mp_set_push_back<S, T...>` appends `T1` to the end of `S` if it's not already an element of `S`.
|
|
|
|
|
|
2017-06-07 00:02:25 +03:00
|
|
|
## mp_set_push_front<S, T...>
|
|
|
|
|
|
2017-03-14 22:57:07 +02:00
|
|
|
template<class S, class... T> using mp_set_push_front = /*...*/;
|
|
|
|
|
|
|
|
|
|
`mp_set_push_front<S, T...>` inserts at the front of `S` those elements of `T...` for which `S` does not already contain the same type.
|