Commit 537a75c2 authored by Dominik Charousset's avatar Dominik Charousset

set `util::conjunction<>::value == false`

this patch changes `conjunction` to evaluate to false if given
template parameter pack is empty
parent 8d615505
......@@ -38,13 +38,18 @@ namespace cppa { namespace util {
template<typename... BooleanConstants>
struct conjunction;
template<typename T0, typename... Ts>
struct conjunction<T0, Ts...>
: std::integral_constant<bool, T0::value && conjunction<Ts...>::value> {
template<>
struct conjunction<> : std::false_type { };
template<typename T0>
struct conjunction<T0> {
static constexpr bool value = T0::value;
};
template<>
struct conjunction<> : std::true_type { };
template<typename T0, typename T1, typename... Ts>
struct conjunction<T0,T1,Ts...> {
static constexpr bool value = T0::value && conjunction<T1,Ts...>::value;
};
} } // namespace cppa::util
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment