13 #ifndef TINYMPL_SET_DIFFERENCE_HPP
14 #define TINYMPL_SET_DIFFERENCE_HPP
16 #include <tinympl/variadic/remove_if.hpp>
17 #include <tinympl/variadic/count.hpp>
18 #include <tinympl/as_sequence.hpp>
19 #include <tinympl/sequence.hpp>
20 #include <tinympl/bind.hpp>
37 template<
class SequenceA,
39 template<
class ...>
class Out = as_sequence<SequenceA>::template rebind>
41 set_difference< as_sequence_t<SequenceA>, as_sequence_t<SequenceB>, Out> {};
43 template<
class ... Ts,
45 template<
class ...>
class Out>
48 bind<variadic::count, arg1, Us...>::template eval_t,
54 #endif // TINYMPL_SET_DIFFERENCE_HPP
Computes the difference between two sets.
Definition: set_difference.hpp:40
Remove the elements from the input sequence if they satisfy a given predicate.
Definition: remove_if.hpp:39
The main sequence type.
Definition: sequence.hpp:28