BloombergLP::bslmf::DetectNestedTrait

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.

Synopsis

Declared in <bslmf_detectnestedtrait.h>

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

Base Classes

NameDescription
/* implementation-defined */::type

Specializations

Name
DetectNestedTrait<t_TYPE volatile, t_TRAIT>
DetectNestedTrait<t_TYPE const, t_TRAIT>
DetectNestedTrait<t_TYPE const volatile, t_TRAIT>

Derived Classes

NameDescription
HasStlIterators This class detects if the specified class TYPE has STL-like iterators. If the class TYPE provides STL-like iterators then HasStlIterators<TYPE>::value == true, and HasStlIterators<TYPE>::value == false otherwise.