#include <apibase.h>
Helper class to work with parameter packs. IndexOf supports finding the index of a type in the argument list, At supports indexing into the list, ContainsAll implements a subset test:
ParameterPack<Int, Float, String, String>::IndexOf< Float >::value == 1 ParameterPack<Int, Float, String, String>::At<2>::type == String ParameterPack<Int, Float, String, String>::ContainsAll < String , Int >::value == true| T | The types of the parameter pack. |
Classes |
|
| struct | At |
| struct | IndexOf |
Public Types |
|
| using | FirstType = void |
| using | RestPack = ParameterPack <> |
| template<typename... X> | |
| using | ContainsAll = maxon::details::ParameterPackContainsAll < ParameterPack , X... > |
| template<template< typename... > class TEMPLATE, typename... X> | |
| using | 应用 = TEMPLATE< X..., T... > |
静态公共属性 |
|
| static const Int | COUNT |
| using FirstType = void |
The first type of this parameter pack.
| using RestPack = ParameterPack <> |
| using ContainsAll = maxon::details::ParameterPackContainsAll < ParameterPack , X...> |
ContainsAll checks if this parameter pack contains all types X. Besides a list of types X can also be a ParameterPack itself.
ParameterPack<Int, Float, String, String>::ContainsAll < String , Int >::value == true ParameterPack<Int, Float, String, String>::ContainsAll <ParameterPack<String, Int>>::value == true ParameterPack<Int, Float, String, String>::ContainsAll < String , Int , Bool >::value == false| X | Types to check. This can either be a list of types, or a single ParameterPack . |
| using 应用 = TEMPLATE<X..., T...> |
|