38#include "vtkABINamespace.h"
39#include "vtkTypeListMacros.h"
43VTK_ABI_NAMESPACE_BEGIN
58template <
typename T,
typename U>
70template <
bool Exp,
typename T,
typename F>
78template <
typename From,
typename To>
86template <
typename TList,
typename T>
94template <
typename TList,
typename T>
101template <
typename TList,
typename T>
109template <
typename TList>
117template <
typename TList,
typename Bad,
typename Good>
125template <
typename TList,
typename Bad,
typename Good>
134template <
typename TList,
typename T>
143template <
typename TList>
150template <
typename TList,
typename T>
156#include "vtkTypeList.txx"
160VTK_ABI_NAMESPACE_BEGIN
162template <
typename... Ts>
163using Create =
typename vtkTypeList::detail::CreateImpl<Ts...>::type;
typename vtkTypeList::detail::CreateImpl< Ts... >::type Create
Appends type T to TypeList TList and stores the result in Result.
Sets member Result to true if a conversion exists to convert type From to type To.
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.
Erase the first element of type T from TypeList TList, storing the new list in Result.
Sets the enum value Result to the index of type T in the TypeList TList.
Given a type T and a TypeList TList, store the most derived type of T in TList as Result.
Used to terminate a TypeList.
Replace all instances of Bad with Good in the TypeList TList, storing the new list in Result.
Replace the first instance of Bad with Good in the TypeList TList, storing the new list in Result.
Sets Result to T if Exp is true, or F if Exp is false.
Generic implementation of TypeList.
Remove all duplicate types from TypeList TList, storing the new list in Result.