Core/TypeList: Improve ListConcat compile-time
seriously I have no idea why I implemented it like that
This commit is contained in:
parent
0e82c2893a
commit
3f8f1c4653
|
|
@ -45,28 +45,10 @@ namespace Nz
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template<typename... First>
|
template<typename... First, typename... Second>
|
||||||
struct ListConcat<TypeList<First...>, TypeList<>>
|
struct ListConcat<TypeList<First...>, TypeList<Second...>>
|
||||||
{
|
{
|
||||||
using Result = TypeList<First...>;
|
using Result = TypeList<First..., Second...>;
|
||||||
};
|
|
||||||
|
|
||||||
template<typename... Second>
|
|
||||||
struct ListConcat<TypeList<>, TypeList<Second...>>
|
|
||||||
{
|
|
||||||
using Result = TypeList<Second...>;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename... First, typename T>
|
|
||||||
struct ListConcat<TypeList<First...>, TypeList<T>>
|
|
||||||
{
|
|
||||||
using Result = TypeList<First..., T>;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename... First, typename T1, typename T2, typename... Second>
|
|
||||||
struct ListConcat<TypeList<First...>, TypeList<T1, T2, Second...>>
|
|
||||||
{
|
|
||||||
using Result = typename ListConcat<TypeList<First..., T1>, TypeList<T2, Second...>>::Result;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue