38 #include "vtkABINamespace.h"
39 #include "vtkTypeListMacros.h"
43 VTK_ABI_NAMESPACE_BEGIN
58 template <
typename T,
typename U>
70 template <
bool Exp,
typename T,
typename F>
78 template <
typename From,
typename To>
86 template <
typename TList,
typename T>
94 template <
typename TList,
typename T>
101 template <
typename TList,
typename T>
109 template <
typename TList>
117 template <
typename TList,
typename Bad,
typename Good>
125 template <
typename TList,
typename Bad,
typename Good>
134 template <
typename TList,
typename T>
143 template <
typename TList>
150 template <
typename TList,
typename T>
153 VTK_ABI_NAMESPACE_END
156 #include "vtkTypeList.txx"
160 VTK_ABI_NAMESPACE_BEGIN
162 template <
typename... Ts>
165 VTK_ABI_NAMESPACE_END
168 #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...
Generic implementation of TypeList.
Replace all instances of Bad with Good in the TypeList TList, storing the new list in Result...
Appends type T 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.