ctor bool , bool, SFINAE:
template<class X>
Parameter( string , string , X ,
enable_if_t<is_same<decay_t<X>, bool>::value, int> = 0)
{ type_ = BOOL;}
. coliru.
, , SFINAE :
template<class X,
enable_if_t<is_same<decay_t<X>, bool>::value, nullptr_t> = nullptr>
Parameter( string , string , X ) { type_ = BOOL;}
enable_if_t decay_t:
template<class X>
Parameter( string , string , X ,
typename enable_if<is_same<typename decay<X>::type,
bool>::value, int>::type = 0)
{ type_ = BOOL;}
template<class X,
typename enable_if<is_same<typename decay<X>::type,
bool>::value, nullptr_t>::type = nullptr>
Parameter( string , string , X)
{ type_ = BOOL;}