[#BloombergLP-bslmf-SelectTrait] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::SelectTrait :relfileprefix: ../../ :mrdocs: 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. == Synopsis Declared in `<bslmf_selecttrait.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- 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 ---- == Base Classes [cols="1,4"] |=== | Name| Description | `/* implementation-defined */::Type` | |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/SelectTrait/OrdinalType.adoc[`OrdinalType`] | `OrdinalType` is an integral constant holding the selected trait ordinal. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/SelectTrait/_04enum.adoc[`Unnamed enum`] | Index of the selected trait ordinal. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#