|
OpenVDB
7.1.0
|
A list of types (not necessarily unique) More...
#include <Types.h>
Public Types | |
| using | Self = TypeList |
| The type of this list. More... | |
| template<size_t N> | |
| using | Get = typename internal::TSGetElementImpl< Self, N >::type |
| Access a particular element of this type list. If the index is out of range, internal::NullType is returned. More... | |
| using | Front = Get< 0 > |
| using | Back = Get< Size-1 > |
| using | Unique = typename internal::TSMakeUniqueImpl< TypeList<>, Ts... >::type |
| Remove any duplicate types from this TypeList by rotating the next valid type left (maintains the order of other types). More... | |
| template<typename... TypesToAppend> | |
| using | Append = typename internal::TSAppendImpl< Self, TypesToAppend... >::type |
| Append types, or the members of another TypeList, to this list. More... | |
| template<typename... TypesToRemove> | |
| using | Remove = typename internal::TSRemoveImpl< Self, TypesToRemove... >::type |
| Remove all occurrences of one or more types, or the members of another TypeList, from this list. More... | |
| using | PopFront = typename internal::TSRemoveFirstImpl< Self >::type |
| Remove the first element of this type list. Has no effect if the type list is already empty. More... | |
| using | PopBack = typename internal::TSRemoveLastImpl< Self >::type |
| Remove the last element of this type list. Has no effect if the type list is already empty. More... | |
| template<size_t First, size_t Last> | |
| using | RemoveByIndex = typename internal::TSRemoveIndicesImpl< Self, First, Last >::type |
| Return a new list with types removed by their location within the list. If First is equal to Last, a single element is removed (if it exists). If First is greater than Last, the list remains unmodified. More... | |
Static Public Member Functions | |
| template<typename OpT > | |
| static void | foreach (OpT op) |
| Invoke a templated, unary functor on a value of each type in this list. More... | |
Static Public Attributes | |
| static constexpr size_t | Size = sizeof...(Ts) |
| The number of types in the type list. More... | |
| template<typename T > | |
| static constexpr bool | Contains = internal::TSHasTypeImpl<Self, T>::Value |
| True if this list contains the given type, false otherwise. More... | |
| template<typename T > | |
| static constexpr int64_t | Index = internal::TSHasTypeImpl<Self, T>::Index |
| Returns the index of the first found element of the given type, -1 if no matching element exists. More... | |
A list of types (not necessarily unique)
Example:
Append types, or the members of another TypeList, to this list.
Example:
Access a particular element of this type list. If the index is out of range, internal::NullType is returned.
Remove the last element of this type list. Has no effect if the type list is already empty.
Example:
Remove the first element of this type list. Has no effect if the type list is already empty.
Example:
Remove all occurrences of one or more types, or the members of another TypeList, from this list.
Example:
| using RemoveByIndex = typename internal::TSRemoveIndicesImpl<Self, First, Last>::type |
Return a new list with types removed by their location within the list. If First is equal to Last, a single element is removed (if it exists). If First is greater than Last, the list remains unmodified.
Example:
Remove any duplicate types from this TypeList by rotating the next valid type left (maintains the order of other types).
Example:
|
inlinestatic |
Invoke a templated, unary functor on a value of each type in this list.
Example:
std::ref to use the same object for each type.
|
staticconstexpr |
True if this list contains the given type, false otherwise.
Example:
Returns the index of the first found element of the given type, -1 if no matching element exists.
Example:
|
staticconstexpr |
The number of types in the type list.
1.8.18