blob: 4d6770e3a44c7704c301fadfe6ab0f2fc3a030b3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#pragma once
#include <type_traits>
template <typename...>
struct is_one_of_implem {
static constexpr bool value = false;
};
template <typename F, typename S, typename... T>
struct is_one_of_implem<F, S, T...> {
static constexpr bool value =
std::is_same<F, S>::value || is_one_of_implem<F, T...>::value;
};
template<typename... T>
constexpr bool is_one_of = is_one_of_implem<T...>::value;
|