[#BloombergLP-bslmf-DetectNestedTrait-00] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::DetectNestedTrait :relfileprefix: ../../ :mrdocs: This `struct` template metafunction detects whether the specified `t_TRAIT` parameter is associated with the specified `t_TYPE` parameter using the nested type trait mechanism. This trait derives from `bsl::true_type` if and only if `t_TYPE` is a class type that associated with the specified trait using the `BSLMF_NESTED_TRAIT_DECLARATION` macro, and from `bsl::false_type` otherwise. Users should not specialize this trait directly for their types, but should always use the macro to make a nested trait association. == Synopsis Declared in `<bslmf_detectnestedtrait.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_TYPE, template<class> typename t_TRAIT> struct DetectNestedTrait : /* implementation-defined */::type ---- == Base Classes [cols="1,4"] |=== | Name| Description | `/* implementation-defined */::type` | |=== == Specializations [cols="1"] |=== | Name | xref:BloombergLP/bslmf/DetectNestedTrait-03.adoc[`DetectNestedTrait<t_TYPE volatile, t_TRAIT>`] | xref:BloombergLP/bslmf/DetectNestedTrait-09.adoc[`DetectNestedTrait<t_TYPE const, t_TRAIT>`] | xref:BloombergLP/bslmf/DetectNestedTrait-01.adoc[`DetectNestedTrait<t_TYPE const volatile, t_TRAIT>`] |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/HasStlIterators-0e.adoc[`HasStlIterators`] | This class detects if the specified class `TYPE` has STL‐like iterators. If the class `TYPE` provides STL‐like iterators then `HasStlIterators<TYPE>::value == true`, and `HasStlIterators<TYPE>::value == false` otherwise. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#