Skip to content

Commit c2bc978

Browse files
committed
made mp_is_set<S> robust when S is not a list
1 parent 13a81c8 commit c2bc978

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

include/boost/mp11/set.hpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,19 @@ struct mp_is_set_helper: Base
109109
static mp_true contains( mp_identity<T> );
110110
};
111111

112+
template<class S> struct mp_is_set_impl
113+
{
114+
using type = mp_false;
115+
};
116+
117+
template<template<class...> class L, class... T> struct mp_is_set_impl<L<T...>>
118+
{
119+
using type = mp_bool<mp_fold<mp_list<T...>, detail::mp_is_set_helper_start, detail::mp_is_set_helper>::value>;
120+
};
121+
112122
} // namespace detail
113123

114-
template<class S> using mp_is_set = mp_bool<mp_fold<S, detail::mp_is_set_helper_start, detail::mp_is_set_helper>::value>;
124+
template<class S> using mp_is_set = typename detail::mp_is_set_impl<S>::type;
115125

116126
// mp_set_union<L...>
117127
namespace detail

0 commit comments

Comments
 (0)