1
0
forked from boostorg/mp11

Make primary templates in set.hpp empty instead of undefined

This commit is contained in:
Peter Dimov
2019-01-08 02:39:07 +02:00
parent f3416b0991
commit 2274150ea0
3 changed files with 15 additions and 5 deletions

View File

@@ -22,7 +22,9 @@ namespace mp11
namespace detail namespace detail
{ {
template<class L, template<class...> class P> struct mp_copy_if_impl; template<class L, template<class...> class P> struct mp_copy_if_impl
{
};
template<template<class...> class L, class... T, template<class...> class P> struct mp_copy_if_impl<L<T...>, P> template<template<class...> class L, class... T, template<class...> class P> struct mp_copy_if_impl<L<T...>, P>
{ {

View File

@@ -22,7 +22,9 @@ namespace mp11
namespace detail namespace detail
{ {
template<class L, template<class...> class P> struct mp_remove_if_impl; template<class L, template<class...> class P> struct mp_remove_if_impl
{
};
template<template<class...> class L, class... T, template<class...> class P> struct mp_remove_if_impl<L<T...>, P> template<template<class...> class L, class... T, template<class...> class P> struct mp_remove_if_impl<L<T...>, P>
{ {

View File

@@ -26,7 +26,9 @@ namespace mp11
namespace detail namespace detail
{ {
template<class S, class V> struct mp_set_contains_impl; template<class S, class V> struct mp_set_contains_impl
{
};
template<template<class...> class L, class... T, class V> struct mp_set_contains_impl<L<T...>, V> template<template<class...> class L, class... T, class V> struct mp_set_contains_impl<L<T...>, V>
{ {
@@ -41,7 +43,9 @@ template<class S, class V> using mp_set_contains = typename detail::mp_set_conta
namespace detail namespace detail
{ {
template<class S, class... T> struct mp_set_push_back_impl; template<class S, class... T> struct mp_set_push_back_impl
{
};
template<template<class...> class L, class... U> struct mp_set_push_back_impl<L<U...>> template<template<class...> class L, class... U> struct mp_set_push_back_impl<L<U...>>
{ {
@@ -62,7 +66,9 @@ template<class S, class... T> using mp_set_push_back = typename detail::mp_set_p
namespace detail namespace detail
{ {
template<class S, class... T> struct mp_set_push_front_impl; template<class S, class... T> struct mp_set_push_front_impl
{
};
template<template<class...> class L, class... U> struct mp_set_push_front_impl<L<U...>> template<template<class...> class L, class... U> struct mp_set_push_front_impl<L<U...>>
{ {