summaryrefslogtreecommitdiff
path: root/src/KingSystem/Utils/TypeTraits.h
blob: f6ddcc825e2ade0b205cc56735c0a7be3d38d9ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#pragma once

#include <type_traits>

namespace ksys {

template <class T, class...>
struct IsAnyOfType : std::false_type {};
template <class T, class Head, class... Tail>
struct IsAnyOfType<T, Head, Tail...>
    : std::conditional_t<std::is_same_v<T, Head>, std::true_type, IsAnyOfType<T, Tail...>> {};

}  // namespace ksys