Instantiate each specified (template parameter) t_TRAIT1 to t_TRAIT9 metafunction using the specified (template parameter) t_TYPE. Inherit from SelectTraitCase<TRAITx>, where x is 1 if t_TRAIT1<t_TYPE>::value is true, 2 if t_TRAIT2<t_TYPE>::value is true, etc.. If none of the traits evaluates to true, then inherit from SelectTraitCase<>, which means that none of the traits match.
Declared in <bslmf_selecttrait.h>
template<
class t_TYPE,
template<class> typename t_TRAIT1,
template<class> typename t_TRAIT2 = SelectTrait_False,
template<class> typename t_TRAIT3 = SelectTrait_False,
template<class> typename t_TRAIT4 = SelectTrait_False,
template<class> typename t_TRAIT5 = SelectTrait_False,
template<class> typename t_TRAIT6 = SelectTrait_False,
template<class> typename t_TRAIT7 = SelectTrait_False,
template<class> typename t_TRAIT8 = SelectTrait_False,
template<class> typename t_TRAIT9 = SelectTrait_False>
struct SelectTrait
: /* implementation-defined */::Type
| Name | Description |
|---|---|
/* implementation-defined */::Type |
| Name | Description |
|---|---|
OrdinalType | OrdinalType is an integral constant holding the selected trait ordinal. |
| Name | Description |
|---|---|
Unnamed enum | Index of the selected trait ordinal. |