BloombergLP::bslmf::NestedTraitDeclaration

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>

template<
    class t_TYPE,
    template<class t_T> typename t_TRAIT,
    bool t_COND = true>
class NestedTraitDeclaration;

Type Aliases

NameDescription
Type This typedef is an alias to NestedTraitDeclaration.

Derived Classes

NameDescription
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.