[#BloombergLP-bslalg-HasStlIterators-0e] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::HasStlIterators :relfileprefix: ../../ :mrdocs: 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>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TYPE> struct HasStlIterators : xref:BloombergLP/bslmf/DetectNestedTrait-00.adoc[bslmf::DetectNestedTrait<TYPE, HasStlIterators>] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bslmf/DetectNestedTrait-00.adoc[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 [cols="1"] |=== | Name | xref:BloombergLP/bslalg/HasStlIterators-04.adoc[`HasStlIterators<bsl::array<TYPE, SIZE>>`] | xref:BloombergLP/bslalg/HasStlIterators-009.adoc[`HasStlIterators<bsl::deque<VALUE_TYPE, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-03d.adoc[`HasStlIterators<bsl::list<VALUE, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-0d.adoc[`HasStlIterators<bsl::vector<VALUE_TYPE, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-06c1.adoc[`HasStlIterators<bdlc::FlatHashSet<KEY, HASH, EQUAL>>`] | xref:BloombergLP/bslalg/HasStlIterators-063.adoc[`HasStlIterators<bsl::basic_string<CHAR_TYPE, CHAR_TRAITS, ALLOC>>`] | xref:BloombergLP/bslalg/HasStlIterators-01.adoc[`HasStlIterators<bsl::multiset<KEY, COMPARATOR, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-074.adoc[`HasStlIterators<bsl::set<KEY, COMPARATOR, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-0b4.adoc[`HasStlIterators<bdlc::FlatHashMap<KEY, VALUE, HASH, EQUAL>>`] | xref:BloombergLP/bslalg/HasStlIterators-05f2.adoc[`HasStlIterators<bsl::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>>`] | xref:BloombergLP/bslalg/HasStlIterators-08.adoc[`HasStlIterators<bsl::hash_set<_Value, _HashFcn, _EqualKey, _Alloc>>`] | xref:BloombergLP/bslalg/HasStlIterators-05f9.adoc[`HasStlIterators<bsl::map<KEY, VALUE, COMPARATOR, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-02.adoc[`HasStlIterators<bsl::multimap<KEY, VALUE, COMPARATOR, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-0b7.adoc[`HasStlIterators<bsl::unordered_multiset<KEY, HASH, EQUAL, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-036.adoc[`HasStlIterators<bsl::unordered_set<KEY, HASH, EQUAL, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-00e.adoc[`HasStlIterators<bsl::hash_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>>`] | xref:BloombergLP/bslalg/HasStlIterators-06c8.adoc[`HasStlIterators<bsl::hash_multimap<_Key, _Tp, _HashFcn, _EqualKey, _Alloc>>`] | xref:BloombergLP/bslalg/HasStlIterators-0a.adoc[`HasStlIterators<bsl::unordered_map<KEY, VALUE, HASH, EQUAL, ALLOCATOR>>`] | xref:BloombergLP/bslalg/HasStlIterators-07e.adoc[`HasStlIterators<bsl::unordered_multimap<KEY, VALUE, HASH, EQUAL, ALLOCATOR>>`] |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#