[#BloombergLP-bslmf-DetectNestedTrait-01] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::xref:BloombergLP/bslmf/DetectNestedTrait-00.adoc[DetectNestedTrait]<t_TYPE const volatile, t_TRAIT> :relfileprefix: ../../ :mrdocs: Partial specialization for const‐volatile‐qualified types. == Synopsis Declared in `<bslmf_detectnestedtrait.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_TYPE, template<class> typename t_TRAIT> struct xref:BloombergLP/bslmf/DetectNestedTrait-00.adoc[DetectNestedTrait]<t_TYPE const volatile, t_TRAIT> : /* implementation-defined */::type ---- == Description This partial specialization ensures that const‐volatile‐qualified types have the same association with a nested trait as their unqualified counterpart. Note that we delegate directly to the `_Imp` class template, rather than back to the primary template, to avoid an infinite recursion bug on platforms that do not correctly implement "abominable" function types with cv‐qualifiers. == Base Classes [cols="1,4"] |=== | Name| Description | `/* implementation-defined */::type` | |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#