38 #include "vtkABINamespace.h"
39 #include "vtkTypeListMacros.h"
43 VTK_ABI_NAMESPACE_BEGIN
58 template <
typename T,
typename U>
70 template <
typename TList>
77 template <
bool Exp,
typename T,
typename F>
85 template <
typename From,
typename To>
93 template <
typename TList,
typename T>
101 template <
typename TList,
typename T>
108 template <
typename TList,
typename T>
116 template <
typename TList>
124 template <
typename TList,
typename Bad,
typename Good>
132 template <
typename TList,
typename Bad,
typename Good>
141 template <
typename TList,
typename T>
150 template <
typename TList>
158 template <
typename TList,
typename T,
typename... Rest>
161 VTK_ABI_NAMESPACE_END
164 #include "vtkTypeList.txx"
168 VTK_ABI_NAMESPACE_BEGIN
170 template <
typename... Ts>
173 VTK_ABI_NAMESPACE_END
176 #endif // vtkTypeList_h
Used to terminate a TypeList.
Remove all duplicate types from TypeList TList, storing the new list in Result.
Sets the enum value Result to the index of type T in the TypeList TList.
Sets member Result to true if a conversion exists to convert type From to type To.
Replace the first instance of Bad with Good in the TypeList TList, storing the new list in Result...
typename vtkTypeList::detail::CreateImpl< Ts... >::type Create
Given a type T and a TypeList TList, store the most derived type of T in TList as Result...
Get the Size of the TypeList TList.
Generic implementation of TypeList.
Replace all instances of Bad with Good in the TypeList TList, storing the new list in Result...
Appends types/TypeLists to TypeList TList and stores the result in Result.
Sets Result to T if Exp is true, or F if Exp is false.
Erase the first element of type T from TypeList TList, storing the new list in Result.
Sort the TypeList from most-derived to least-derived type, storing the sorted TypeList in Result...
Erase all type T from TypeList TList, storing the new list in Result.