16#ifndef TEMPLATEUTILS_H
17#define TEMPLATEUTILS_H
29template<
typename T, T V>
33 static constexpr Type Value = V;
35 constexpr operator Type()
const noexcept {
return Value; }
36 [[nodiscard]]
constexpr Type operator()()
const {
return Value; }
52template<
typename,
typename>
53inline static constexpr bool IsSame =
false;
56inline static constexpr bool IsSame<T, T> =
true;
59inline static constexpr bool IsUnique =
TrueType{};
66template<
typename T,
typename...Ts>
67inline constexpr bool IsUnique<T, Ts...> =
BoolConstant<(!IsSame<T, Ts> && ...) && IsUnique<Ts...>>{};
69template<
size_t I,
typename T,
typename...Ts>
Compile-time constant value.
Definition TemplateUtils.h:31
Definition TemplateUtils.h:71