BloombergLP::bslalg::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.

Synopsis

Declared in <bslalg_hasstliterators.h>

template<class TYPE>
struct HasStlIterators
    : bslmf::DetectNestedTrait<TYPE, HasStlIterators>

Base Classes

NameDescription
bslmf::DetectNestedTrait<TYPE, HasStlIterators>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.

Specializations

Name
HasStlIterators<bsl::array<TYPE, SIZE>>
HasStlIterators<bsl::deque<VALUE_TYPE, ALLOCATOR>>
HasStlIterators<bsl::list<VALUE, ALLOCATOR>>
HasStlIterators<bsl::vector<VALUE_TYPE, ALLOCATOR>>
HasStlIterators<bdlc::FlatHashSet<KEY, HASH, EQUAL>>
HasStlIterators<bsl::basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC>>
HasStlIterators<bsl::multiset<KEY, COMPARATOR, ALLOCATOR>>
HasStlIterators<bsl::set<KEY, COMPARATOR, ALLOCATOR>>
HasStlIterators<bdlc::FlatHashMap<KEY, VALUE, HASH, EQUAL>>
HasStlIterators<bsl::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>>
HasStlIterators<bsl::hash_set<_Value, _HashFcn, _EqualKey, _Alloc>>
HasStlIterators<bsl::map<KEY, VALUE, COMPARATOR, ALLOCATOR>>
HasStlIterators<bsl::multimap<KEY, VALUE, COMPARATOR, ALLOCATOR>>
HasStlIterators<bsl::unordered_multiset<KEY, HASH, EQUAL, ALLOCATOR>>
HasStlIterators<bsl::unordered_set<KEY, HASH, EQUAL, ALLOCATOR>>
HasStlIterators<bsl::hash_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>>
HasStlIterators<bsl::hash_multimap<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>>
HasStlIterators<bsl::unordered_map<KEY, VALUE, HASH, EQUAL, ALLOCATOR>>
HasStlIterators<bsl::unordered_multimap<KEY, VALUE, HASH, EQUAL, ALLOCATOR>>