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).
Declared in <bslmf_nestedtraitdeclaration.h>
template<
class t_TYPE,
template<class t_T> typename t_TRAIT,
bool t_COND = true>
class NestedTraitDeclaration;
| Name | Description |
|---|---|
Type | This typedef is an alias to NestedTraitDeclaration. |
| Name | Description |
|---|---|
NestedTraitDeclaration | This class template ties the bslalg::TypeTraitHasTrivialDefaultConstructor trait tag to the bsl::is_trivially_default_constructible trait metafunction. |
NestedTraitDeclaration | This class template ties the bdlb::TypeTraitHasPrintMethod trait tag to the bdlb::HasPrintMethod trait metafunction. |
NestedTraitDeclaration | This class template ties the bslalg::TypeTraitBitwiseEqualityComparable trait tag to the bslmf::IsBitwiseEqualityComparable trait metafunction. |
NestedTraitDeclaration | This class template ties the bdlat_TypeTraitBasicEnumeration trait tag to the bdlat_IsBasicEnumeration trait metafunction. |
NestedTraitDeclaration | This class template ties the bslalg::TypeTraitBitwiseMoveable trait tag to the bslmf::IsBitwiseMoveable trait metafunction. |
NestedTraitDeclaration | This class template ties the bslalg::TypeTraitUsesBslmaAllocator trait tag to the bslma::UsesBslmaAllocator trait metafunction. |
NestedTraitDeclaration | This class template ties the bslalg::TypeTraitPair trait tag to the bslmf::IsPair trait metafunction. |
NestedTraitDeclaration | This class template ties the bslalg::TypeTraitBitwiseCopyable trait tag to the bsl::is_trivially_copyable trait metafunction. |
NestedTraitDeclaration | This class template ties the bdlat_TypeTraitHasFallbackEnumerator trait tag to the bdlat_HasFallbackEnumerator trait metafunction. |
NestedTraitDeclaration | This class template ties the bslalg::TypeTraitHasPointerSemantics trait tag to the bslmf::HasPointerSemantics trait metafunction. |
NestedTraitDeclaration | This class template ties the bdlat_TypeTraitBasicSequence trait tag to the bdlat_IsBasicSequence trait metafunction. |
NestedTraitDeclaration | This class template ties the bdlat_TypeTraitBasicCustomizedType trait tag to the bdlat_IsBasicCustomizedType trait metafunction. |
NestedTraitDeclaration | This class template ties the bdlat_TypeTraitBasicChoice trait tag to the bdlat_IsBasicChoice trait metafunction. |
NestedTraitDeclaration | This class template ties the bslalg::TypeTraitHasStlIterators trait tag to the bslmf::HasStlIterators trait metafunction. |