BloombergLP::bslmf::DetectNestedTrait

Meta-function for detecting nested traits.

Synopsis

Declared in <bslmf_detectnestedtrait.h>

template<
    class t_TYPE,
    template<class> typename t_TRAIT>
struct DetectNestedTrait
    : /* implementation-defined */::type

Description

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.

Base Classes

NameDescription
/* implementation-defined */::type

Specializations

NameDescription
DetectNestedTrait<t_TYPE volatile, t_TRAIT> Partial specialization for volatile-qualified types.
DetectNestedTrait<t_TYPE const, t_TRAIT> Partial specialization for const-qualified types.
DetectNestedTrait<t_TYPE const volatile, t_TRAIT> Partial specialization for const-volatile-qualified types.

Derived Classes

NameDescription
HasStlIterators This class detects if the specified class TYPE has STL-like iterators.