Fixed type_at_t trait.

This commit is contained in:
Patrick 2024-11-09 23:33:15 +01:00
parent 009113e566
commit 017bba89e4

View File

@ -128,13 +128,13 @@ using delay_type_t = TActual;
template<std::size_t I, typename TArg, typename... TArgs> template<std::size_t I, typename TArg, typename... TArgs>
struct TypeAtHelper struct TypeAtHelper
{ {
using type_t = std::conditional_t<I == 0, TArg, TypeAtHelper<I-1, TArgs...>>; using type_t = typename TypeAtHelper<I-1, TArgs...>::type_t;
}; };
template<std::size_t I, typename TArg> template<typename TArg, typename... TArgs>
struct TypeAtHelper<I, TArg> struct TypeAtHelper<0, TArg, TArgs...>
{ {
using type_t = std::enable_if_t<I == 0, TArg>; using type_t = TArg;
}; };
template<std::size_t I, typename... TArgs> template<std::size_t I, typename... TArgs>
using type_at_t = TypeAtHelper<I, TArgs...>::type_t; using type_at_t = TypeAtHelper<I, TArgs...>::type_t;