Pass

#include <m3ta/pass>

Does nothing but passing the given template argument while taking an optional parameter pack.

This is a convenient way to test a SFINAE expression while always returning the required type.

Traits

m3ta::Pass
template<typename T, typename ... T_Dummies>
struct Pass
Template Parameters:
 
  • T – Type to pass.
  • T_Dummies – Allows for some expressions to be ran through.

Member Types

type

The type T.

Aliases

m3ta::PassT
template<typename T, typename ... T_Dummies>
using PassT = typename Pass<T, T_Dummies ...>::type;

Usage Examples

using Type1 = m3ta::PassT<void, int, float>; // void
using Type2 = m3ta::PassT<short, int, float>; // short