summaryrefslogtreecommitdiff
path: root/src/utils/is_one_of.hpp
blob: c706421ac78329c6d4cc7baa5bef0c8ca9a758eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once

#include <type_traits>

template <typename...>
struct is_one_of {
    static constexpr bool value = false;
};

template <typename F, typename S, typename... T>
struct is_one_of<F, S, T...> {
    static constexpr bool value =
        std::is_same<F, S>::value || is_one_of<F, T...>::value;
};