35#ifndef LIB_META_TYPESEQ_UTIL_H
36#define LIB_META_TYPESEQ_UTIL_H
57 static_assert (
not sizeof(X),
"Type not found in type-sequence");
61 template<
class X,
class T,
class...
TYPES>
65 if constexpr (std::is_same_v<X,T>)
75 template<
class...
TYPES>
79 template<
class...
TYPES>
90 template<
class T,
class TYPES>
93 template<
typename T,
typename...TYPES>
107 template<
class H,
class T>
132 template<
class TYPES>
135 template<
typename T1,
typename...TS>
180 template<
class TYPES, u
int i=1>
189 template<
class TYPES>
202 template<
typename...TYPES,
size_t i>
214 template<
typename T,
size_t N>
Implementation namespace for support and library code.
Metaprogramming: Helpers for manipulating lists-of-types.
A template metaprogramming technique for manipulating collections of types.