[#BloombergLP-bslmf-NestedTraitDeclaration] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslmf.adoc[bslmf]::NestedTraitDeclaration :relfileprefix: ../../ :mrdocs: Class `t_TYPE` will be convertible to `NestedTraitDeclaration<t_TYPE,t_TRAIT,true>` if `t_TRAIT` is associated with `t_TYPE` using the `BSLMF_NESTED_TRAIT_DECLARATION` macro. Nested trait detection depends on `t_COND` being true. If `t_COND` is false, the nested trait detection will not see the conversion it is looking for and will not associate `t_TRAIT` with `t_TYPE`. This feature is used by `BSLMF_NESTED_TRAIT_DECLARATION_IF` to turn a trait on or off depending on a compile‐time condition (usually another trait). == Synopsis Declared in `<bslmf_nestedtraitdeclaration.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class t_TYPE, template<class t_T> typename t_TRAIT, bool t_COND = true> class NestedTraitDeclaration; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslmf/NestedTraitDeclaration/Type.adoc[`Type`] | This `typedef` is an alias to `NestedTraitDeclaration`. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/TypeTraitHasTrivialDefaultConstructor/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitHasTrivialDefaultConstructor` trait tag to the `bsl::is_trivially_default_constructible` trait metafunction. | xref:BloombergLP/bdlb/TypeTraitHasPrintMethod/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bdlb::TypeTraitHasPrintMethod` trait tag to the `bdlb::HasPrintMethod` trait metafunction. | xref:BloombergLP/bslalg/TypeTraitBitwiseEqualityComparable/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitBitwiseEqualityComparable` trait tag to the `bslmf::IsBitwiseEqualityComparable` trait metafunction. | xref:BloombergLP/bdlat_TypeTraitBasicEnumeration/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bdlat_TypeTraitBasicEnumeration` trait tag to the `bdlat_IsBasicEnumeration` trait metafunction. | xref:BloombergLP/bslalg/TypeTraitBitwiseMoveable/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitBitwiseMoveable` trait tag to the `bslmf::IsBitwiseMoveable` trait metafunction. | xref:BloombergLP/bslalg/TypeTraitUsesBslmaAllocator/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitUsesBslmaAllocator` trait tag to the `bslma::UsesBslmaAllocator` trait metafunction. | xref:BloombergLP/bslalg/TypeTraitPair/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitPair` trait tag to the `bslmf::IsPair` trait metafunction. | xref:BloombergLP/bslalg/TypeTraitBitwiseCopyable/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitBitwiseCopyable` trait tag to the `bsl::is_trivially_copyable` trait metafunction. | xref:BloombergLP/bdlat_TypeTraitHasFallbackEnumerator/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bdlat_TypeTraitHasFallbackEnumerator` trait tag to the `bdlat_HasFallbackEnumerator` trait metafunction. | xref:BloombergLP/bslalg/TypeTraitHasPointerSemantics/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitHasPointerSemantics` trait tag to the `bslmf::HasPointerSemantics` trait metafunction. | xref:BloombergLP/bdlat_TypeTraitBasicSequence/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bdlat_TypeTraitBasicSequence` trait tag to the `bdlat_IsBasicSequence` trait metafunction. | xref:BloombergLP/bdlat_TypeTraitBasicCustomizedType/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bdlat_TypeTraitBasicCustomizedType` trait tag to the `bdlat_IsBasicCustomizedType` trait metafunction. | xref:BloombergLP/bdlat_TypeTraitBasicChoice/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bdlat_TypeTraitBasicChoice` trait tag to the `bdlat_IsBasicChoice` trait metafunction. | xref:BloombergLP/bslalg/TypeTraitHasStlIterators/NestedTraitDeclaration.adoc[`NestedTraitDeclaration`] | This class template ties the `bslalg::TypeTraitHasStlIterators` trait tag to the `bslmf::HasStlIterators` trait metafunction. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#