ParameterTagTraits< Tag > Struct Template Reference

CPP API: mio::ParameterTagTraits< Tag > Struct Template Reference
mio::ParameterTagTraits< Tag > Struct Template Reference

the properties of a parameter More...

#include <parameter_set.h>

Public Types

using Type = typename Tag::Type
 

Static Public Member Functions

template<class Dummy = Tag, class... Ts>
static std::enable_if_t< has_get_default_member_function< Dummy, Ts... >::value, Typeget_default (Ts &&... args)
 
template<class Dummy = Tag, class... Ts>
static std::enable_if_t< !has_get_default_member_function< Dummy, Ts... >::value &&std::is_default_constructible< Type >::value, Typeget_default (Ts &&...)
 

Detailed Description

template<class Tag>
struct mio::ParameterTagTraits< Tag >

the properties of a parameter

Template Parameters
Tagthe parameter type

Member Typedef Documentation

◆ Type

template<class Tag >
using mio::ParameterTagTraits< Tag >::Type = typename Tag::Type

Member Function Documentation

◆ get_default() [1/2]

template<class Tag >
template<class Dummy = Tag, class... Ts>
static std::enable_if_t<has_get_default_member_function<Dummy, Ts...>::value, Type> mio::ParameterTagTraits< Tag >::get_default ( Ts &&...  args)
inlinestatic

◆ get_default() [2/2]

template<class Tag >
template<class Dummy = Tag, class... Ts>
static std::enable_if_t< !has_get_default_member_function<Dummy, Ts...>::value && std::is_default_constructible<Type>::value, Type> mio::ParameterTagTraits< Tag >::get_default ( Ts &&  ...)
inlinestatic