#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 == trueT | 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 == falseX | Types to check. This can either be a list of types, or a single ParameterPack . |
using 应用 = TEMPLATE<X..., T...> |
|