Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/container"

From cppreference.com
< cpp
m (+todos)
m (+todo: mention C++26's inplace_vector.)
 
(46 intermediate revisions by 14 users not shown)
Line 18: Line 18:
  
 
{{dsc begin}}
 
{{dsc begin}}
{{dsc inc | cpp/container/dsc array}}
+
{{dsc inc|cpp/container/dsc array}}
{{dsc inc | cpp/container/dsc vector}}
+
{{dsc inc|cpp/container/dsc vector}}
{{dsc inc | cpp/container/dsc deque}}
+
{{dsc inc|cpp/container/dsc inplace_vector}}
{{dsc inc | cpp/container/dsc forward_list}}
+
{{dsc inc|cpp/container/dsc deque}}
{{dsc inc | cpp/container/dsc list}}
+
{{dsc inc|cpp/container/dsc forward_list}}
 +
{{dsc inc|cpp/container/dsc list}}
 
{{dsc end}}
 
{{dsc end}}
  
Line 29: Line 30:
  
 
{{dsc begin}}
 
{{dsc begin}}
{{dsc inc | cpp/container/dsc set}}
+
{{dsc inc|cpp/container/dsc set}}
{{dsc inc | cpp/container/dsc map}}
+
{{dsc inc|cpp/container/dsc map}}
{{dsc inc | cpp/container/dsc multiset}}
+
{{dsc inc|cpp/container/dsc multiset}}
{{dsc inc | cpp/container/dsc multimap}}
+
{{dsc inc|cpp/container/dsc multimap}}
 
{{dsc end}}
 
{{dsc end}}
  
 +
{{anchor|Unordered associative containers}}
 
===Unordered associative containers {{mark since c++11}}===
 
===Unordered associative containers {{mark since c++11}}===
Unordered associative containers implement unsorted (hashed) data structures that can be quickly searched ({{math|O(1)}} amortized, {{math|O(n)}} worst-case complexity).
+
Unordered associative containers implement unsorted (hashed) data structures that can be quickly searched ({{math|O(1)}} average, {{math|O(n)}} worst-case complexity).
  
 
{{dsc begin}}
 
{{dsc begin}}
{{dsc inc | cpp/container/dsc unordered_set}}
+
{{dsc inc|cpp/container/dsc unordered_set}}
{{dsc inc | cpp/container/dsc unordered_map}}
+
{{dsc inc|cpp/container/dsc unordered_map}}
{{dsc inc | cpp/container/dsc unordered_multiset}}
+
{{dsc inc|cpp/container/dsc unordered_multiset}}
{{dsc inc | cpp/container/dsc unordered_multimap}}
+
{{dsc inc|cpp/container/dsc unordered_multimap}}
 
{{dsc end}}
 
{{dsc end}}
  
Line 49: Line 51:
  
 
{{dsc begin}}
 
{{dsc begin}}
{{dsc inc | cpp/container/dsc stack}}
+
{{dsc inc|cpp/container/dsc stack}}
{{dsc inc | cpp/container/dsc queue}}
+
{{dsc inc|cpp/container/dsc queue}}
{{dsc inc | cpp/container/dsc priority_queue}}
+
{{dsc inc|cpp/container/dsc priority_queue}}
{{dsc inc | cpp/container/dsc flat_set}}
+
{{dsc inc|cpp/container/dsc flat_set}}
{{dsc inc | cpp/container/dsc flat_map}}
+
{{dsc inc|cpp/container/dsc flat_map}}
{{dsc inc | cpp/container/dsc flat_multiset}}
+
{{dsc inc|cpp/container/dsc flat_multiset}}
{{dsc inc | cpp/container/dsc flat_multimap}}
+
{{dsc inc|cpp/container/dsc flat_multimap}}
 
{{dsc end}}
 
{{dsc end}}
  
 
===Views===
 
===Views===
 
+
Views provide flexible facilities for interacting with one- or multi-dimensional views over a non-owning array of elements.  
===={{tt|span}} {{mark since c++20}}====
+
A {{tt|span}} is a non-owning view over a contiguous sequence of objects, the storage of which is owned by some other object.
+
  
 
{{dsc begin}}
 
{{dsc begin}}
{{dsc inc | cpp/container/dsc span}}<!--
+
{{dsc inc|cpp/container/dsc span}}
{{dsc inc | cpp/container/dsc mdspan}}-->
+
{{dsc inc|cpp/container/dsc mdspan}}
 
{{dsc end}}
 
{{dsc end}}
  
 
===Iterator invalidation===
 
===Iterator invalidation===
Read-only methods never invalidate iterators or references. Methods which modify the contents of a container may invalidate iterators and/or references, as summarized in this table.
+
Read-only methods never [[cpp/iterator#Dereferceability and validity|invalidate]] iterators or references. Methods which modify the contents of a container may invalidate iterators and/or references, as summarized in this table.
  
{| class="wikitable" style="font-size:0.8em; line-height:1em; text-align: center;"
+
{|class="wikitable" style="font-size:0.8em; line-height:1em; text-align: center;"
 
|-
 
|-
! rowspan="2" | Category
+
!rowspan="2"|Category
! rowspan="2" | Container
+
!rowspan="2"|Container
| colspan="2" | After '''insertion''', are...
+
|colspan="2"|After '''insertion''', are...
| colspan="2" | After '''erasure''', are...
+
|colspan="2"|After '''erasure''', are...
! rowspan="2" | Conditionally
+
!rowspan="2"|Conditionally
 
|-
 
|-
| '''iterators''' valid?
+
|'''iterators''' valid?
| '''references''' valid?
+
|'''references''' valid?
| '''iterators''' valid?
+
|'''iterators''' valid?
| '''references''' valid?
+
|'''references''' valid?
 
|-
 
|-
<!-- -->
+
<!---->
! rowspan="8" | Sequence containers
+
!rowspan="8"|Sequence containers
! {{ltt|cpp/container/array}}
+
!{{ltt|cpp/container/array}}
| colspan="2" {{n/a}}
+
|colspan="2" {{n/a}}
| colspan="2" {{n/a}}
+
|colspan="2" {{n/a}}
 
|
 
|
 
|-
 
|-
! rowspan="3" | {{ltt|cpp/container/vector}}
+
!rowspan="3"|{{ltt|cpp/container/vector}}
| colspan="2" {{no}}
+
|colspan="2" {{no}}
| colspan="2" {{n/a}}
+
|colspan="2" {{n/a}}
| Insertion changed capacity
+
|Insertion changed capacity
 
|-
 
|-
| colspan="2" {{yes}}
+
|colspan="2" {{yes}}
| colspan="2" {{yes}}
+
|colspan="2" {{yes}}
| Before modified element(s)<br/>(for insertion only if capacity didn't change)
+
|Before modified element(s)<br/>(for insertion only if capacity didn't change)
 
|-
 
|-
| colspan="2" {{no}}
+
|colspan="2" {{no}}
| colspan="2" {{no}}
+
|colspan="2" {{no}}
| At or after modified element(s)
+
|At or after modified element(s)
 
|-
 
|-
! rowspan="2" | {{ltt|cpp/container/deque}}
+
!rowspan="2"|{{ltt|cpp/container/deque}}
| rowspan="2" {{no}}
+
|rowspan="2" {{no}}
| {{yes}}
+
|{{yes}}
| colspan="2" {{maybe|Yes, except erased element(s)}}
+
|colspan="2" {{maybe|Yes, except erased element(s)}}
| Modified first or last element
+
|Modified first or last element
 
|-
 
|-
| {{no}}
+
|{{no}}
| colspan="2" {{no}}
+
|colspan="2" {{no}}
| Modified middle only
+
|Modified middle only
 
|-
 
|-
! {{ltt|cpp/container/list}}
+
!{{ltt|cpp/container/list}}
| colspan="2" {{yes}}
+
|colspan="2" {{yes}}
| colspan="2" {{maybe|Yes, except erased element(s)}}
+
|colspan="2" {{maybe|Yes, except erased element(s)}}
 
|
 
|
 
|-
 
|-
! {{ltt|cpp/container/forward_list}}
+
!{{ltt|cpp/container/forward_list}}
| colspan="2" {{yes}}
+
|colspan="2" {{yes}}
| colspan="2" {{maybe|Yes, except erased element(s)}}
+
|colspan="2" {{maybe|Yes, except erased element(s)}}
 
|
 
|
 
|-
 
|-
<!-- -->
+
<!---->
! Associative containers
+
!Associative containers
! {{ltt|cpp/container/set}}<br/><!--
+
!{{ltt|cpp/container/set}}<br/><!--
 
-->{{ltt|cpp/container/multiset}}<br/><!--
 
-->{{ltt|cpp/container/multiset}}<br/><!--
 
-->{{ltt|cpp/container/map}}<br/><!--
 
-->{{ltt|cpp/container/map}}<br/><!--
 
-->{{ltt|cpp/container/multimap}}
 
-->{{ltt|cpp/container/multimap}}
| colspan="2" {{yes}}
+
|colspan="2" {{yes}}
| colspan="2" {{maybe|Yes, except erased element(s)}}
+
|colspan="2" {{maybe|Yes, except erased element(s)}}
| rowspan="1" |
+
|rowspan="1"|
 
|-
 
|-
<!-- -->
+
<!---->
! rowspan="2" | Unordered associative containers
+
!rowspan="2"|Unordered associative containers
! rowspan="2" | {{ltt|cpp/container/unordered_set}}<br/><!--
+
!rowspan="2"|{{ltt|cpp/container/unordered_set}}<br/><!--
 
-->{{ltt|cpp/container/unordered_multiset}}<br/><!--
 
-->{{ltt|cpp/container/unordered_multiset}}<br/><!--
 
-->{{ltt|cpp/container/unordered_map}}<br/><!--
 
-->{{ltt|cpp/container/unordered_map}}<br/><!--
 
-->{{ltt|cpp/container/unordered_multimap}}
 
-->{{ltt|cpp/container/unordered_multimap}}
| {{no}}
+
|{{no}}
| rowspan="2" {{yes}}
+
|rowspan="2" {{yes}}
| colspan="2" {{n/a}}<!--N/A due to incompatibility between the condition "Insertion caused rehash" and this column's topic ("After erasure..."). {{maybe|Yes, except erased element(s)}}-->
+
|colspan="2" {{n/a}}<!--N/A due to incompatibility between the condition "Insertion caused rehash" and this column's topic ("After erasure..."). {{maybe|Yes, except erased element(s)}}-->
| Insertion caused rehash
+
|Insertion caused rehash
  
 
|-
 
|-
| {{yes}}
+
|{{yes}}
| colspan="2" {{maybe|Yes, except erased element(s)}}
+
|colspan="2" {{maybe|Yes, except erased element(s)}}
| No rehash
+
|No rehash
 
|}
 
|}
 +
 +
{{todo|add iterator invalidation for C++23 "flat" adaptors ({{lc|std::flat_set}} etc)}}
 +
{{todo|add iterator invalidation for C++26 {{lc|std::inplace_vector}}}}
  
 
Here, '''insertion''' refers to any method which adds one or more elements to the container and '''erasure''' refers to any method which removes one or more elements from the container.
 
Here, '''insertion''' refers to any method which adds one or more elements to the container and '''erasure''' refers to any method which removes one or more elements from the container.
Line 174: Line 177:
 
# Iterator operations (e.g. incrementing an iterator) read, but do not modify the underlying container, and may be executed concurrently with operations on other iterators on the same container, with the const member functions, or reads from the elements. Container operations that invalidate any iterators modify the container and cannot be executed concurrently with any operations on existing iterators even if those iterators are not invalidated.
 
# Iterator operations (e.g. incrementing an iterator) read, but do not modify the underlying container, and may be executed concurrently with operations on other iterators on the same container, with the const member functions, or reads from the elements. Container operations that invalidate any iterators modify the container and cannot be executed concurrently with any operations on existing iterators even if those iterators are not invalidated.
 
# Elements of the same container can be modified concurrently with those member functions that are not specified to access these elements. More generally, the C++ standard library functions do not read objects indirectly accessible through their arguments (including other elements of a container) except when required by its specification.
 
# Elements of the same container can be modified concurrently with those member functions that are not specified to access these elements. More generally, the C++ standard library functions do not read objects indirectly accessible through their arguments (including other elements of a container) except when required by its specification.
# In any case, container operations (as well as algorithms, or any other C++ standard library functions) may be parallelized internally as long as this does not change the user-visible results (e.g. {{lc|std::transform}} may be parallelized, but not {{lc|std::for_each}} which is specified to visit each element of a sequence in order)
+
# In any case, container operations (as well as algorithms, or any other C++ standard library functions) may be parallelized internally as long as this does not change the user-visible results (e.g. {{lc|std::transform}} may be parallelized, but not {{lc|std::for_each}} which is specified to visit each element of a sequence in order).
 
}}
 
}}
  
===Member function table===
+
===Function table===
 
+
Note: {{lc|std::basic_string}} is not treated as a container by the standard but behaves much like one due to its similarity. It is listed as 'Pseudo container' here for convenience.
{{todo|This table is incomplete: add C++20 span, C++23 mdspan, flat_*}}  
+
  
 
{|
 
{|
 
|-
 
|-
| style="width:4em; background:#bcbcff;" |  
+
|style="width:4em; background:#bcbcff;"|
 
| - functions present in C++03
 
| - functions present in C++03
 
|-
 
|-
| style="width:4em; background:#bcffbc;" |  
+
|style="width:4em; background:#bcffbc;"|
 
| - functions present since C++11
 
| - functions present since C++11
 
|-
 
|-
| style="width:4em; background:#ffeebc;" |  
+
|style="width:4em; background:#ffeebc;"|
 
| - functions present since C++17
 
| - functions present since C++17
 
|-
 
|-
| style="width:4em; background:#ffdb99;" |  
+
|style="width:4em; background:#ffdb99;"|
 
| - functions present since C++20
 
| - functions present since C++20
 +
|-
 +
|style="width:4em; background:#ff9966;"|
 +
| - functions present since C++23
 
|}
 
|}
 +
{{todo|Add C++26 "color" and fill member/non-member function table for {{lc|std::inplace_vector}}}}
  
<div style="display: inline-block;">
+
====Member function table====
<div style="display: inline-block;">
+
<div style="max-width: 100%; max-height: 80vh; overflow: scroll;">
{| class="wikitable" style="font-size:0.8em; line-height:1em; text-align: center;"
+
{|class="wikitable" style="font-size:0.8em; line-height:1em; text-align: center;"
 
|-  
 
|-  
| colspan="2" |
+
|colspan="2"|
! colspan="5" | Sequence containers   
+
!colspan="1"|Pseudo container
! colspan="4" | Associative containers  
+
!colspan="5"|Sequence containers   
! colspan="4" | Unordered associative containers  
+
!colspan="4"|Associative containers  
! colspan="3" | Container adaptors
+
!colspan="4"|Unordered associative containers  
 +
!colspan="7"|Container adaptors
 +
!colspan="2"|
 
|-
 
|-
! colspan="2" | Header  
+
!colspan="2"|Header  
! {{tt|{{header|array}}}}  
+
!{{tt|{{header|string}}}}
! {{tt|{{header|vector}}}}  
+
!{{tt|{{header|array}}}}  
! {{tt|{{header|deque}}}}  
+
!{{tt|{{header|vector}}}}  
! {{tt|{{header|forward_list}}}}  
+
!{{tt|{{header|deque}}}}  
! {{tt|{{header|list}}}}  
+
!{{tt|{{header|forward_list}}}}  
! colspan="2" | {{tt|{{header|set}}}}  
+
!{{tt|{{header|list}}}}  
! colspan="2" | {{tt|{{header|map}}}}  
+
!colspan="2"|{{tt|{{header|set}}}}  
! colspan="2" | {{tt|{{header|unordered_set}}}}  
+
!colspan="2"|{{tt|{{header|map}}}}  
! colspan="2" | {{tt|{{header|unordered_map}}}}  
+
!colspan="2"|{{tt|{{header|unordered_set}}}}  
! {{tt|{{header|stack}}}}  
+
!colspan="2"|{{tt|{{header|unordered_map}}}}  
! colspan="2" | {{tt|{{header|queue}}}}
+
!{{tt|{{header|stack}}}}  
 +
!colspan="2"|{{tt|{{header|queue}}}}
 +
!colspan="2"|{{tt|{{header|flat_set}}}}
 +
!colspan="2"|{{tt|{{header|flat_map}}}}
 +
!colspan="2"|Header
 
|-
 
|-
! colspan="2" | Container
+
!colspan="2"|Container
! {{cpp/container/table cell hn | /array }}
+
!{{cpp/container/table cell ho|cpp/string/basic_string}}
! {{cpp/container/table cell ho | /vector }}
+
!{{cpp/container/table cell hn|/array}}
! {{cpp/container/table cell ho | /deque }}
+
!{{cpp/container/table cell ho|/vector}}
! {{cpp/container/table cell hn | /forward_list }}
+
!{{cpp/container/table cell ho|/deque}}
! {{cpp/container/table cell ho | /list }}
+
!{{cpp/container/table cell hn|/forward_list}}
! {{cpp/container/table cell ho | /set }}
+
!{{cpp/container/table cell ho|/list}}
! {{cpp/container/table cell ho | /multiset }}
+
!{{cpp/container/table cell ho|/set}}
! {{cpp/container/table cell ho | /map }}
+
!{{cpp/container/table cell ho|/multiset}}
! {{cpp/container/table cell ho | /multimap }}
+
!{{cpp/container/table cell ho|/map}}
! {{cpp/container/table cell hn | /unordered_set }}
+
!{{cpp/container/table cell ho|/multimap}}
! {{cpp/container/table cell hn | /unordered_multiset }}
+
!{{cpp/container/table cell hn|/unordered_set}}
! {{cpp/container/table cell hn | /unordered_map }}
+
!{{cpp/container/table cell hn|/unordered_multiset}}
! {{cpp/container/table cell hn | /unordered_multimap }}
+
!{{cpp/container/table cell hn|/unordered_map}}
! {{cpp/container/table cell ho | /stack }}
+
!{{cpp/container/table cell hn|/unordered_multimap}}
! {{cpp/container/table cell ho | /queue }}
+
!{{cpp/container/table cell ho|/stack}}
! {{cpp/container/table cell ho | /priority_queue }}
+
!{{cpp/container/table cell ho|/queue}}
 +
!{{cpp/container/table cell ho|/priority_queue}}
 +
!{{cpp/container/table cell h23|/flat_set}}
 +
!{{cpp/container/table cell h23|/flat_multiset}}
 +
!{{cpp/container/table cell h23|/flat_map}}
 +
!{{cpp/container/table cell h23|/flat_multimap}}
 +
!colspan="2"|Container
 
|-
 
|-
! rowspan="4" |
+
!rowspan="5"|
| {{cpp/container/table cell lo | (constructor)}}
+
|{{cpp/container/table cell lo|(constructor)}}
| {{cpp/container/table cell |(implicit)}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/basic_string}}
| {{cpp/container/table cell o | /vector/vector }}
+
|{{cpp/container/table cell|(implicit)}}
| {{cpp/container/table cell o | /deque/deque }}
+
|{{cpp/container/table cell o|/vector/vector}}
| {{cpp/container/table cell n | /forward_list/forward_list }}
+
|{{cpp/container/table cell o|/deque/deque}}
| {{cpp/container/table cell o | /list/list }}
+
|{{cpp/container/table cell n|/forward_list/forward_list}}
| {{cpp/container/table cell o | /set/set }}
+
|{{cpp/container/table cell o|/list/list}}
| {{cpp/container/table cell o | /multiset/multiset }}
+
|{{cpp/container/table cell o|/set/set}}
| {{cpp/container/table cell o | /map/map }}
+
|{{cpp/container/table cell o|/multiset/multiset}}
| {{cpp/container/table cell o | /multimap/multimap }}
+
|{{cpp/container/table cell o|/map/map}}
| {{cpp/container/table cell n | /unordered_set/unordered_set }}
+
|{{cpp/container/table cell o|/multimap/multimap}}
| {{cpp/container/table cell n | /unordered_multiset/unordered_multiset }}
+
|{{cpp/container/table cell n|/unordered_set/unordered_set}}
| {{cpp/container/table cell n | /unordered_map/unordered_map }}
+
|{{cpp/container/table cell n|/unordered_multiset/unordered_multiset}}
| {{cpp/container/table cell n | /unordered_multimap/unordered_multimap }}
+
|{{cpp/container/table cell n|/unordered_map/unordered_map}}
| {{cpp/container/table cell o | /stack/stack }}
+
|{{cpp/container/table cell n|/unordered_multimap/unordered_multimap}}
| {{cpp/container/table cell o | /queue/queue }}
+
|{{cpp/container/table cell o|/stack/stack}}
| {{cpp/container/table cell o | /priority_queue/priority_queue }}
+
|{{cpp/container/table cell o|/queue/queue}}
 +
|{{cpp/container/table cell o|/priority_queue/priority_queue}}
 +
|{{cpp/container/table cell 23|/flat_set/flat_set}}
 +
|{{cpp/container/table cell 23|/flat_multiset/flat_multiset}}
 +
|{{cpp/container/table cell 23|/flat_map/flat_map}}
 +
|{{cpp/container/table cell 23|/flat_multimap/flat_multimap}}
 +
|{{cpp/container/table cell lo|(constructor)}}
 +
!rowspan="5"|
 
|-
 
|-
<!-- --->
+
<!----->
| {{cpp/container/table cell lo | (destructor)}}
+
|{{cpp/container/table cell lo|(destructor)}}
| {{cpp/container/table cell |(implicit)}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/~basic_string}}
| {{cpp/container/table cell o | /vector/~vector }}
+
|{{cpp/container/table cell|(implicit)}}
| {{cpp/container/table cell o | /deque/~deque }}
+
|{{cpp/container/table cell o|/vector/~vector}}
| {{cpp/container/table cell n | /forward_list/~forward_list }}
+
|{{cpp/container/table cell o|/deque/~deque}}
| {{cpp/container/table cell o | /list/~list }}
+
|{{cpp/container/table cell n|/forward_list/~forward_list}}
| {{cpp/container/table cell o | /set/~set }}
+
|{{cpp/container/table cell o|/list/~list}}
| {{cpp/container/table cell o | /multiset/~multiset }}
+
|{{cpp/container/table cell o|/set/~set}}
| {{cpp/container/table cell o | /map/~map }}
+
|{{cpp/container/table cell o|/multiset/~multiset}}
| {{cpp/container/table cell o | /multimap/~multimap }}
+
|{{cpp/container/table cell o|/map/~map}}
| {{cpp/container/table cell n | /unordered_set/~unordered_set }}
+
|{{cpp/container/table cell o|/multimap/~multimap}}
| {{cpp/container/table cell n | /unordered_multiset/~unordered_multiset }}
+
|{{cpp/container/table cell n|/unordered_set/~unordered_set}}
| {{cpp/container/table cell n | /unordered_map/~unordered_map }}
+
|{{cpp/container/table cell n|/unordered_multiset/~unordered_multiset}}
| {{cpp/container/table cell n | /unordered_multimap/~unordered_multimap }}
+
|{{cpp/container/table cell n|/unordered_map/~unordered_map}}
| {{cpp/container/table cell o | /stack/~stack }}
+
|{{cpp/container/table cell n|/unordered_multimap/~unordered_multimap}}
| {{cpp/container/table cell o | /queue/~queue }}
+
|{{cpp/container/table cell o|/stack/~stack}}
| {{cpp/container/table cell o | /priority_queue/~priority_queue }}
+
|{{cpp/container/table cell o|/queue/~queue}}
 +
|{{cpp/container/table cell o|/priority_queue/~priority_queue}}
 +
|{{cpp/container/table cell 23|/flat_set/~flat_set}}
 +
|{{cpp/container/table cell 23|/flat_multiset/~flat_multiset}}
 +
|{{cpp/container/table cell 23|/flat_map/~flat_map}}
 +
|{{cpp/container/table cell 23|/flat_multimap/~flat_multimap}}
 +
|{{cpp/container/table cell lo|(destructor)}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | operator{{=}}}}
+
|{{cpp/container/table cell lo|operator{{=}}}}
| {{cpp/container/table cell |(implicit)}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/operator{{=}}}}
| {{cpp/container/table cell o | /vector/operator{{=}} }}
+
|{{cpp/container/table cell|(implicit)}}
| {{cpp/container/table cell o | /deque/operator{{=}} }}
+
|{{cpp/container/table cell o|/vector/operator{{=}}}}
| {{cpp/container/table cell n | /forward_list/operator{{=}} }}
+
|{{cpp/container/table cell o|/deque/operator{{=}}}}
| {{cpp/container/table cell o | /list/operator{{=}} }}
+
|{{cpp/container/table cell n|/forward_list/operator{{=}}}}
| {{cpp/container/table cell o | /set/operator{{=}} }}
+
|{{cpp/container/table cell o|/list/operator{{=}}}}
| {{cpp/container/table cell o | /multiset/operator{{=}} }}
+
|{{cpp/container/table cell o|/set/operator{{=}}}}
| {{cpp/container/table cell o | /map/operator{{=}} }}
+
|{{cpp/container/table cell o|/multiset/operator{{=}}}}
| {{cpp/container/table cell o | /multimap/operator{{=}} }}
+
|{{cpp/container/table cell o|/map/operator{{=}}}}
| {{cpp/container/table cell n | /unordered_set/operator{{=}} }}
+
|{{cpp/container/table cell o|/multimap/operator{{=}}}}
| {{cpp/container/table cell n | /unordered_multiset/operator{{=}} }}
+
|{{cpp/container/table cell n|/unordered_set/operator{{=}}}}
| {{cpp/container/table cell n | /unordered_map/operator{{=}} }}
+
|{{cpp/container/table cell n|/unordered_multiset/operator{{=}}}}
| {{cpp/container/table cell n | /unordered_multimap/operator{{=}} }}
+
|{{cpp/container/table cell n|/unordered_map/operator{{=}}}}
| {{cpp/container/table cell o | /stack/operator{{=}} }}
+
|{{cpp/container/table cell n|/unordered_multimap/operator{{=}}}}
| {{cpp/container/table cell o | /queue/operator{{=}} }}
+
|{{cpp/container/table cell o|/stack/operator{{=}}}}
| {{cpp/container/table cell o | /priority_queue/operator{{=}} }}
+
|{{cpp/container/table cell o|/queue/operator{{=}}}}
 +
|{{cpp/container/table cell o|/priority_queue/operator{{=}}}}
 +
|{{cpp/container/table cell 23|/flat_set/operator{{=}}}}
 +
|{{cpp/container/table cell 23|/flat_multiset/operator{{=}}}}
 +
|{{cpp/container/table cell 23|/flat_map/operator{{=}}}}
 +
|{{cpp/container/table cell 23|/flat_multimap/operator{{=}}}}
 +
|{{cpp/container/table cell lo|operator{{=}}}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | assign}}
+
|{{cpp/container/table cell lo|assign}}
| {{n/a||}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/assign}}
| {{cpp/container/table cell o | /vector/assign }}
+
|{{n/a||}}
| {{cpp/container/table cell o | /deque/assign }}
+
|{{cpp/container/table cell o|/vector/assign}}
| {{cpp/container/table cell n | /forward_list/assign }}
+
|{{cpp/container/table cell o|/deque/assign}}
| {{cpp/container/table cell o | /list/assign }}
+
|{{cpp/container/table cell n|/forward_list/assign}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/assign}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|assign}}
 
|-
 
|-
! rowspan="4" | Iterators
+
<!---->
| {{cpp/container/table cell lon | begin|cbegin}}
+
|{{cpp/container/table cell l23|assign_range}}
| {{cpp/container/table cell nn | /array/begin |begin|cbegin}}
+
|{{cpp/container/table cell 23|cpp/string/basic_string/assign_range}}
| {{cpp/container/table cell on | /vector/begin |begin|cbegin}}
+
|{{n/a||}}
| {{cpp/container/table cell on | /deque/begin |begin|cbegin}}
+
|{{cpp/container/table cell 23|/vector/assign_range}}
| {{cpp/container/table cell nn | /forward_list/begin |begin|cbegin}}
+
|{{cpp/container/table cell 23|/deque/assign_range}}
| {{cpp/container/table cell on | /list/begin |begin|cbegin}}
+
|{{cpp/container/table cell 23|/forward_list/assign_range}}
| {{cpp/container/table cell on | /set/begin |begin|cbegin}}
+
|{{cpp/container/table cell 23|/list/assign_range}}
| {{cpp/container/table cell on | /multiset/begin |begin|cbegin}}
+
|{{n/a|}}
| {{cpp/container/table cell on | /map/begin |begin|cbegin}}
+
|{{n/a|}}
| {{cpp/container/table cell on | /multimap/begin |begin|cbegin}}
+
|{{n/a|}}
| {{cpp/container/table cell nn | /unordered_set/begin |begin|cbegin}}
+
|{{n/a|}}
| {{cpp/container/table cell nn | /unordered_multiset/begin |begin|cbegin}}
+
|{{n/a|}}
| {{cpp/container/table cell nn | /unordered_map/begin |begin|cbegin}}
+
|{{n/a|}}
| {{cpp/container/table cell nn | /unordered_multimap/begin |begin|cbegin}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell l23|assign_range}}
 
|-
 
|-
<!-- -->
+
!rowspan="4"|Iterators
| {{cpp/container/table cell lon | end|cend}}
+
|{{cpp/container/table cell lon|begin|cbegin}}
| {{cpp/container/table cell nn | /array/end |end|cend}}
+
|{{cpp/container/table cell on|cpp/string/basic_string/begin|begin|cbegin}}
| {{cpp/container/table cell on | /vector/end |end|cend}}
+
|{{cpp/container/table cell nn|/array/begin|begin|cbegin}}
| {{cpp/container/table cell on | /deque/end |end|cend}}
+
|{{cpp/container/table cell on|/vector/begin|begin|cbegin}}
| {{cpp/container/table cell nn | /forward_list/end |end|cend}}
+
|{{cpp/container/table cell on|/deque/begin|begin|cbegin}}
| {{cpp/container/table cell on | /list/end |end|cend}}
+
|{{cpp/container/table cell nn|/forward_list/begin|begin|cbegin}}
| {{cpp/container/table cell on | /set/end |end|cend}}
+
|{{cpp/container/table cell on|/list/begin|begin|cbegin}}
| {{cpp/container/table cell on | /multiset/end |end|cend}}
+
|{{cpp/container/table cell on|/set/begin|begin|cbegin}}
| {{cpp/container/table cell on | /map/end |end|cend}}
+
|{{cpp/container/table cell on|/multiset/begin|begin|cbegin}}
| {{cpp/container/table cell on | /multimap/end |end|cend}}
+
|{{cpp/container/table cell on|/map/begin|begin|cbegin}}
| {{cpp/container/table cell nn | /unordered_set/end |end|cend}}
+
|{{cpp/container/table cell on|/multimap/begin|begin|cbegin}}
| {{cpp/container/table cell nn | /unordered_multiset/end |end|cend}}
+
|{{cpp/container/table cell nn|/unordered_set/begin|begin|cbegin}}
| {{cpp/container/table cell nn | /unordered_map/end |end|cend}}
+
|{{cpp/container/table cell nn|/unordered_multiset/begin|begin|cbegin}}
| {{cpp/container/table cell nn | /unordered_multimap/end |end|cend}}
+
|{{cpp/container/table cell nn|/unordered_map/begin|begin|cbegin}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_multimap/begin|begin|cbegin}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 2323|/flat_set/begin|begin|cbegin}}
 +
|{{cpp/container/table cell 2323|/flat_multiset/begin|begin|cbegin}}
 +
|{{cpp/container/table cell 2323|/flat_map/begin|begin|cbegin}}
 +
|{{cpp/container/table cell 2323|/flat_multimap/begin|begin|cbegin}}
 +
|{{cpp/container/table cell lon|begin|cbegin}}
 +
!rowspan="4"|Iterators
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lon | rbegin|crbegin}}
+
|{{cpp/container/table cell lon|end|cend}}
| {{cpp/container/table cell nn | /array/rbegin |rbegin|crbegin}}
+
|{{cpp/container/table cell on|cpp/string/basic_string/end|end|cend}}
| {{cpp/container/table cell on | /vector/rbegin |rbegin|crbegin}}
+
|{{cpp/container/table cell nn|/array/end|end|cend}}
| {{cpp/container/table cell on | /deque/rbegin |rbegin|crbegin}}
+
|{{cpp/container/table cell on|/vector/end|end|cend}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/deque/end|end|cend}}
| {{cpp/container/table cell on | /list/rbegin |rbegin|crbegin}}
+
|{{cpp/container/table cell nn|/forward_list/end|end|cend}}
| {{cpp/container/table cell on | /set/rbegin |rbegin|crbegin}}
+
|{{cpp/container/table cell on|/list/end|end|cend}}
| {{cpp/container/table cell on | /multiset/rbegin |rbegin|crbegin}}
+
|{{cpp/container/table cell on|/set/end|end|cend}}
| {{cpp/container/table cell on | /map/rbegin |rbegin|crbegin}}
+
|{{cpp/container/table cell on|/multiset/end|end|cend}}
| {{cpp/container/table cell on | /multimap/rbegin |rbegin|crbegin}}
+
|{{cpp/container/table cell on|/map/end|end|cend}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/multimap/end|end|cend}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_set/end|end|cend}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_multiset/end|end|cend}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_map/end|end|cend}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_multimap/end|end|cend}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 2323|/flat_set/end|end|cend}}
 +
|{{cpp/container/table cell 2323|/flat_multiset/end|end|cend}}
 +
|{{cpp/container/table cell 2323|/flat_map/end|end|cend}}
 +
|{{cpp/container/table cell 2323|/flat_multimap/end|end|cend}}
 +
|{{cpp/container/table cell lon|end|cend}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lon | rend|crend}}
+
|{{cpp/container/table cell lon|rbegin|crbegin}}
| {{cpp/container/table cell nn | /array/rend |rend|crend}}
+
|{{cpp/container/table cell on|cpp/string/basic_string/rbegin|rbegin|crbegin}}
| {{cpp/container/table cell on | /vector/rend |rend|crend}}
+
|{{cpp/container/table cell nn|/array/rbegin|rbegin|crbegin}}
| {{cpp/container/table cell on | /deque/rend |rend|crend}}
+
|{{cpp/container/table cell on|/vector/rbegin|rbegin|crbegin}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/deque/rbegin|rbegin|crbegin}}
| {{cpp/container/table cell on | /list/rend |rend|crend}}
+
|{{n/a|}}
| {{cpp/container/table cell on | /set/rend |rend|crend}}
+
|{{cpp/container/table cell on|/list/rbegin|rbegin|crbegin}}
| {{cpp/container/table cell on | /multiset/rend |rend|crend}}
+
|{{cpp/container/table cell on|/set/rbegin|rbegin|crbegin}}
| {{cpp/container/table cell on | /map/rend |rend|crend}}
+
|{{cpp/container/table cell on|/multiset/rbegin|rbegin|crbegin}}
| {{cpp/container/table cell on | /multimap/rend |rend|crend}}
+
|{{cpp/container/table cell on|/map/rbegin|rbegin|crbegin}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/multimap/rbegin|rbegin|crbegin}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 2323|/flat_set/rbegin|rbegin|crbegin}}
 +
|{{cpp/container/table cell 2323|/flat_multiset/rbegin|rbegin|crbegin}}
 +
|{{cpp/container/table cell 2323|/flat_map/rbegin|rbegin|crbegin}}
 +
|{{cpp/container/table cell 2323|/flat_multimap/rbegin|rbegin|crbegin}}
 +
|{{cpp/container/table cell lon|rbegin|crbegin}}
 
|-
 
|-
! rowspan="5" | Element <br> access
+
<!---->
| {{cpp/container/table cell lo | at}}
+
|{{cpp/container/table cell lon|rend|crend}}
| {{cpp/container/table cell n | /array/at }}
+
|{{cpp/container/table cell on|cpp/string/basic_string/rend|rend|crend}}
| {{cpp/container/table cell o | /vector/at }}
+
|{{cpp/container/table cell nn|/array/rend|rend|crend}}
| {{cpp/container/table cell o | /deque/at }}
+
|{{cpp/container/table cell on|/vector/rend|rend|crend}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/deque/rend|rend|crend}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/list/rend|rend|crend}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/set/rend|rend|crend}}
| {{cpp/container/table cell n | /map/at }}
+
|{{cpp/container/table cell on|/multiset/rend|rend|crend}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/map/rend|rend|crend}}
| {{n/a|}}
+
|{{cpp/container/table cell on|/multimap/rend|rend|crend}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/at }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 2323|/flat_set/rend|rend|crend}}
 +
|{{cpp/container/table cell 2323|/flat_multiset/rend|rend|crend}}
 +
|{{cpp/container/table cell 2323|/flat_map/rend|rend|crend}}
 +
|{{cpp/container/table cell 2323|/flat_multimap/rend|rend|crend}}
 +
|{{cpp/container/table cell lon|rend|crend}}
 
|-
 
|-
<!-- -->
+
!rowspan="5"|Element <br> access
| {{cpp/container/table cell lo | operator[]}}
+
|{{cpp/container/table cell lo|at}}
| {{cpp/container/table cell n | /array/operator_at |operator[]}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/at}}
| {{cpp/container/table cell o | /vector/operator_at |operator[]}}
+
|{{cpp/container/table cell n|/array/at}}
| {{cpp/container/table cell o | /deque/operator_at |operator[]}}
+
|{{cpp/container/table cell o|/vector/at}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/deque/at}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/operator_at |operator[]}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/map/at}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/operator_at |operator[]}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/at}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_map/at}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|at}}
 +
!rowspan="5"|Element <br> access
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell ln | data}}
+
|{{cpp/container/table cell lo|operator[]}}
| {{cpp/container/table cell n | /array/data }}
+
|{{cpp/container/table cell o|cpp/string/basic_string/operator_at|operator[]}}
| {{cpp/container/table cell n | /vector/data }}
+
|{{cpp/container/table cell n|/array/operator_at|operator[]}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/vector/operator_at|operator[]}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/deque/operator_at|operator[]}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/map/operator_at|operator[]}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/operator_at|operator[]}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_map/operator_at|operator[]}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|operator[]}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | front}}
+
|{{cpp/container/table cell ln|data}}
| {{cpp/container/table cell n | /array/front }}
+
|{{cpp/container/table cell o|cpp/string/basic_string/data}}
| {{cpp/container/table cell o | /vector/front }}
+
|{{cpp/container/table cell n|/array/data}}
| {{cpp/container/table cell o | /deque/front }}
+
|{{cpp/container/table cell n|/vector/data}}
| {{cpp/container/table cell n | /forward_list/front }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /list/front }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /queue/front }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /priority_queue/top | top }}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|data}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | back}}
+
|{{cpp/container/table cell lo|front}}
| {{cpp/container/table cell n | /array/back }}
+
|{{cpp/container/table cell n|cpp/string/basic_string/front}}
| {{cpp/container/table cell o | /vector/back }}
+
|{{cpp/container/table cell n|/array/front}}
| {{cpp/container/table cell o | /deque/back }}
+
|{{cpp/container/table cell o|/vector/front}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/deque/front}}
| {{cpp/container/table cell o | /list/back }}
+
|{{cpp/container/table cell n|/forward_list/front}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/front}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /stack/top | top}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /queue/back }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/queue/front}}
 +
|{{cpp/container/table cell o|/priority_queue/top|top}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|front}}
 
|-
 
|-
! rowspan="7" | Capacity
+
<!---->
| {{cpp/container/table cell lo | empty}}
+
|{{cpp/container/table cell lo|back}}
| {{cpp/container/table cell n | /array/empty }}
+
|{{cpp/container/table cell n|cpp/string/basic_string/back}}
| {{cpp/container/table cell o | /vector/empty }}
+
|{{cpp/container/table cell n|/array/back}}
| {{cpp/container/table cell o | /deque/empty }}
+
|{{cpp/container/table cell o|/vector/back}}
| {{cpp/container/table cell n | /forward_list/empty }}
+
|{{cpp/container/table cell o|/deque/back}}
| {{cpp/container/table cell o | /list/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/empty }}
+
|{{cpp/container/table cell o|/list/back}}
| {{cpp/container/table cell o | /multiset/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multimap/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /stack/empty }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /queue/empty }}
+
|{{cpp/container/table cell o|/stack/top|top}}
| {{cpp/container/table cell o | /priority_queue/empty }}
+
|{{cpp/container/table cell o|/queue/back}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|back}}
 
|-
 
|-
<!-- -->
+
!rowspan="7"|Capacity
| {{cpp/container/table cell lo | size}}
+
|{{cpp/container/table cell lo|empty}}
| {{cpp/container/table cell n | /array/size }}
+
|{{cpp/container/table cell o|cpp/string/basic_string/empty}}
| {{cpp/container/table cell o | /vector/size }}
+
|{{cpp/container/table cell n|/array/empty}}
| {{cpp/container/table cell o | /deque/size }}
+
|{{cpp/container/table cell o|/vector/empty}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/deque/empty}}
| {{cpp/container/table cell o | /list/size }}
+
|{{cpp/container/table cell n|/forward_list/empty}}
| {{cpp/container/table cell o | /set/size }}
+
|{{cpp/container/table cell o|/list/empty}}
| {{cpp/container/table cell o | /multiset/size }}
+
|{{cpp/container/table cell o|/set/empty}}
| {{cpp/container/table cell o | /map/size }}
+
|{{cpp/container/table cell o|/multiset/empty}}
| {{cpp/container/table cell o | /multimap/size }}
+
|{{cpp/container/table cell o|/map/empty}}
| {{cpp/container/table cell n | /unordered_set/size }}
+
|{{cpp/container/table cell o|/multimap/empty}}
| {{cpp/container/table cell n | /unordered_multiset/size }}
+
|{{cpp/container/table cell n|/unordered_set/empty}}
| {{cpp/container/table cell n | /unordered_map/size }}
+
|{{cpp/container/table cell n|/unordered_multiset/empty}}
| {{cpp/container/table cell n | /unordered_multimap/size }}
+
|{{cpp/container/table cell n|/unordered_map/empty}}
| {{cpp/container/table cell o | /stack/size }}
+
|{{cpp/container/table cell n|/unordered_multimap/empty}}
| {{cpp/container/table cell o | /queue/size }}
+
|{{cpp/container/table cell o|/stack/empty}}
| {{cpp/container/table cell o | /priority_queue/size }}
+
|{{cpp/container/table cell o|/queue/empty}}
 +
|{{cpp/container/table cell o|/priority_queue/empty}}
 +
|{{cpp/container/table cell 23|/flat_set/empty}}
 +
|{{cpp/container/table cell 23|/flat_multiset/empty}}
 +
|{{cpp/container/table cell 23|/flat_map/empty}}
 +
|{{cpp/container/table cell 23|/flat_multimap/empty}}
 +
|{{cpp/container/table cell lo|empty}}
 +
!rowspan="7"|Capacity
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | max_size}}
+
|{{cpp/container/table cell lo|size}}
| {{cpp/container/table cell n | /array/max_size }}
+
|{{cpp/container/table cell o|cpp/string/basic_string/size}}
| {{cpp/container/table cell o | /vector/max_size }}
+
|{{cpp/container/table cell n|/array/size}}
| {{cpp/container/table cell o | /deque/max_size }}
+
|{{cpp/container/table cell o|/vector/size}}
| {{cpp/container/table cell n | /forward_list/max_size }}
+
|{{cpp/container/table cell o|/deque/size}}
| {{cpp/container/table cell o | /list/max_size }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/max_size }}
+
|{{cpp/container/table cell o|/list/size}}
| {{cpp/container/table cell o | /multiset/max_size }}
+
|{{cpp/container/table cell o|/set/size}}
| {{cpp/container/table cell o | /map/max_size }}
+
|{{cpp/container/table cell o|/multiset/size}}
| {{cpp/container/table cell o | /multimap/max_size }}
+
|{{cpp/container/table cell o|/map/size}}
| {{cpp/container/table cell n | /unordered_set/max_size }}
+
|{{cpp/container/table cell o|/multimap/size}}
| {{cpp/container/table cell n | /unordered_multiset/max_size }}
+
|{{cpp/container/table cell n|/unordered_set/size}}
| {{cpp/container/table cell n | /unordered_map/max_size }}
+
|{{cpp/container/table cell n|/unordered_multiset/size}}
| {{cpp/container/table cell n | /unordered_multimap/max_size }}
+
|{{cpp/container/table cell n|/unordered_map/size}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/size}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/stack/size}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/queue/size}}
 +
|{{cpp/container/table cell o|/priority_queue/size}}
 +
|{{cpp/container/table cell 23|/flat_set/size}}
 +
|{{cpp/container/table cell 23|/flat_multiset/size}}
 +
|{{cpp/container/table cell 23|/flat_map/size}}
 +
|{{cpp/container/table cell 23|/flat_multimap/size}}
 +
|{{cpp/container/table cell lo|size}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | resize}}
+
|{{cpp/container/table cell lo|max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/max_size}}
| {{cpp/container/table cell o | /vector/resize }}
+
|{{cpp/container/table cell n|/array/max_size}}
| {{cpp/container/table cell o | /deque/resize }}
+
|{{cpp/container/table cell o|/vector/max_size}}
| {{cpp/container/table cell n | /forward_list/resize }}
+
|{{cpp/container/table cell o|/deque/max_size}}
| {{cpp/container/table cell o | /list/resize }}
+
|{{cpp/container/table cell n|/forward_list/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/set/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/multiset/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/map/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/multimap/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_set/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multiset/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/max_size}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/max_size}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/max_size}}
 +
|{{cpp/container/table cell 23|/flat_multiset/max_size}}
 +
|{{cpp/container/table cell 23|/flat_map/max_size}}
 +
|{{cpp/container/table cell 23|/flat_multimap/max_size}}
 +
|{{cpp/container/table cell lo|max_size}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | capacity}}
+
|{{cpp/container/table cell lo|resize}}
| {{n/a|}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/resize}}
| {{cpp/container/table cell o | /vector/capacity }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/vector/resize}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/deque/resize}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/forward_list/resize}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/resize}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/bucket_count }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/bucket_count }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/bucket_count }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multimap/bucket_count }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|resize}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | reserve}}
+
|{{cpp/container/table cell lo|capacity}}
| {{n/a|}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/capacity}}
| {{cpp/container/table cell o | /vector/reserve}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/vector/capacity}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/reserve }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/reserve }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/reserve }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multimap/reserve }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|capacity}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell ln | shrink_to_fit}}
+
|{{cpp/container/table cell lo|reserve}}
| {{n/a|}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/reserve}}
| {{cpp/container/table cell n | /vector/shrink_to_fit}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /deque/shrink_to_fit}}
+
|{{cpp/container/table cell o|/vector/reserve}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_set/reserve}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multiset/reserve}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/reserve}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/reserve}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|reserve}}
 
|-
 
|-
! rowspan="16" | Modifiers
+
<!---->
| {{cpp/container/table cell lo | clear}}
+
|{{cpp/container/table cell ln|shrink_to_fit}}
| {{n/a|}}
+
|{{cpp/container/table cell n|cpp/string/basic_string/shrink_to_fit}}
| {{cpp/container/table cell o | /vector/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/clear }}
+
|{{cpp/container/table cell n|/vector/shrink_to_fit}}
| {{cpp/container/table cell n | /forward_list/clear }}
+
|{{cpp/container/table cell n|/deque/shrink_to_fit}}
| {{cpp/container/table cell o | /list/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multiset/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/clear }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multimap/clear }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|shrink_to_fit}}
 
|-
 
|-
<!-- -->
+
!rowspan="19"|Modifiers
| {{cpp/container/table cell lo | insert}}
+
|{{cpp/container/table cell lo|clear}}
| {{n/a|}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/clear}}
| {{cpp/container/table cell o | /vector/insert }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/insert }}
+
|{{cpp/container/table cell o|/vector/clear}}
| {{cpp/container/table cell n | /forward_list/insert_after | insert_after}}
+
|{{cpp/container/table cell o|/deque/clear}}
| {{cpp/container/table cell o | /list/insert }}
+
|{{cpp/container/table cell n|/forward_list/clear}}
| {{cpp/container/table cell o | /set/insert }}
+
|{{cpp/container/table cell o|/list/clear}}
| {{cpp/container/table cell o | /multiset/insert }}
+
|{{cpp/container/table cell o|/set/clear}}
| {{cpp/container/table cell o | /map/insert }}
+
|{{cpp/container/table cell o|/multiset/clear}}
| {{cpp/container/table cell o | /multimap/insert }}
+
|{{cpp/container/table cell o|/map/clear}}
| {{cpp/container/table cell n | /unordered_set/insert }}
+
|{{cpp/container/table cell o|/multimap/clear}}
| {{cpp/container/table cell n | /unordered_multiset/insert }}
+
|{{cpp/container/table cell n|/unordered_set/clear}}
| {{cpp/container/table cell n | /unordered_map/insert }}
+
|{{cpp/container/table cell n|/unordered_multiset/clear}}
| {{cpp/container/table cell n | /unordered_multimap/insert }}
+
|{{cpp/container/table cell n|/unordered_map/clear}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/clear}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/clear}}
 +
|{{cpp/container/table cell 23|/flat_multiset/clear}}
 +
|{{cpp/container/table cell 23|/flat_map/clear}}
 +
|{{cpp/container/table cell 23|/flat_multimap/clear}}
 +
|{{cpp/container/table cell lo|clear}}
 +
!rowspan="19"|Modifiers
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell l17 | insert_or_assign}}
+
|{{cpp/container/table cell lo|insert}}
| {{n/a|}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/insert}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/vector/insert}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/deque/insert}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/forward_list/insert_after|insert_after}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/insert}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/set/insert}}
| {{cpp/container/table cell 17 | /map/insert_or_assign }}
+
|{{cpp/container/table cell o|/multiset/insert}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/map/insert}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/multimap/insert}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_set/insert}}
| {{cpp/container/table cell 17 | /unordered_map/insert_or_assign }}
+
|{{cpp/container/table cell n|/unordered_multiset/insert}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/insert}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/insert}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/insert}}
 +
|{{cpp/container/table cell 23|/flat_multiset/insert}}
 +
|{{cpp/container/table cell 23|/flat_map/insert}}
 +
|{{cpp/container/table cell 23|/flat_multimap/insert}}
 +
|{{cpp/container/table cell lo|insert}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell ln | emplace}}
+
|{{cpp/container/table cell l23|insert_range}}
| {{n/a|}}
+
|{{cpp/container/table cell 23|cpp/string/basic_string/insert_range}}
| {{cpp/container/table cell n | /vector/emplace }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /deque/emplace }}
+
|{{cpp/container/table cell 23|/vector/insert_range}}
| {{cpp/container/table cell n | /forward_list/emplace_after | emplace_after}}
+
|{{cpp/container/table cell 23|/deque/insert_range}}
| {{cpp/container/table cell n | /list/emplace }}
+
|{{cpp/container/table cell 23|/forward_list/insert_range_after|insert_range_after}}
| {{cpp/container/table cell n | /set/emplace }}
+
|{{cpp/container/table cell 23|/list/insert_range}}
| {{cpp/container/table cell n | /multiset/emplace }}
+
|{{cpp/container/table cell 23|/set/insert_range}}
| {{cpp/container/table cell n | /map/emplace }}
+
|{{cpp/container/table cell 23|/multiset/insert_range}}
| {{cpp/container/table cell n | /multimap/emplace }}
+
|{{cpp/container/table cell 23|/map/insert_range}}
| {{cpp/container/table cell n | /unordered_set/emplace }}
+
|{{cpp/container/table cell 23|/multimap/insert_range}}
| {{cpp/container/table cell n | /unordered_multiset/emplace }}
+
|{{cpp/container/table cell 23|/unordered_set/insert_range}}
| {{cpp/container/table cell n | /unordered_map/emplace }}
+
|{{cpp/container/table cell 23|/unordered_multiset/insert_range}}
| {{cpp/container/table cell n | /unordered_multimap/emplace }}
+
|{{cpp/container/table cell 23|/unordered_map/insert_range}}
| {{n/a|}}
+
|{{cpp/container/table cell 23|/unordered_multimap/insert_range}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/insert_range}}
 +
|{{cpp/container/table cell 23|/flat_multiset/insert_range}}
 +
|{{cpp/container/table cell 23|/flat_map/insert_range}}
 +
|{{cpp/container/table cell 23|/flat_multimap/insert_range}}
 +
|{{cpp/container/table cell l23|insert_range}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell ln | emplace_hint}}
+
|{{cpp/container/table cell l17|insert_or_assign}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /set/emplace_hint }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /multiset/emplace_hint }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /map/emplace_hint }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /multimap/emplace_hint }}
+
|{{cpp/container/table cell 17|/map/insert_or_assign}}
| {{cpp/container/table cell n | /unordered_set/emplace_hint }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/emplace_hint }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/emplace_hint }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multimap/emplace_hint }}
+
|{{cpp/container/table cell 17|/unordered_map/insert_or_assign}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_map/insert_or_assign}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell l17|insert_or_assign}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell l17 | try_emplace}}
+
|{{cpp/container/table cell ln|emplace}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/vector/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/deque/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/forward_list/emplace_after|emplace_after}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/list/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/set/emplace}}
| {{cpp/container/table cell 17 | /map/try_emplace }}
+
|{{cpp/container/table cell n|/multiset/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/map/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/multimap/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_set/emplace}}
| {{cpp/container/table cell 17 | /unordered_map/try_emplace }}
+
|{{cpp/container/table cell n|/unordered_multiset/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/emplace}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/emplace}}
 +
|{{cpp/container/table cell 23|/flat_multiset/emplace}}
 +
|{{cpp/container/table cell 23|/flat_map/emplace}}
 +
|{{cpp/container/table cell 23|/flat_multimap/emplace}}
 +
|{{cpp/container/table cell ln|emplace}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | erase}}
+
|{{cpp/container/table cell ln|emplace_hint}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /vector/erase }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/erase }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /forward_list/erase_after | erase_after}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /list/erase }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/erase }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multiset/erase }}
+
|{{cpp/container/table cell n|/set/emplace_hint}}
| {{cpp/container/table cell o | /map/erase }}
+
|{{cpp/container/table cell n|/multiset/emplace_hint}}
| {{cpp/container/table cell o | /multimap/erase }}
+
|{{cpp/container/table cell n|/map/emplace_hint}}
| {{cpp/container/table cell n | /unordered_set/erase }}
+
|{{cpp/container/table cell n|/multimap/emplace_hint}}
| {{cpp/container/table cell n | /unordered_multiset/erase }}
+
|{{cpp/container/table cell n|/unordered_set/emplace_hint}}
| {{cpp/container/table cell n | /unordered_map/erase }}
+
|{{cpp/container/table cell n|/unordered_multiset/emplace_hint}}
| {{cpp/container/table cell n | /unordered_multimap/erase }}
+
|{{cpp/container/table cell n|/unordered_map/emplace_hint}}
| {{n/a|}}  
+
|{{cpp/container/table cell n|/unordered_multimap/emplace_hint}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/emplace_hint}}
 +
|{{cpp/container/table cell 23|/flat_multiset/emplace_hint}}
 +
|{{cpp/container/table cell 23|/flat_map/emplace_hint}}
 +
|{{cpp/container/table cell 23|/flat_multimap/emplace_hint}}
 +
|{{cpp/container/table cell ln|emplace_hint}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | push_front}}
+
|{{cpp/container/table cell l17|try_emplace}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/push_front }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /forward_list/push_front }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /list/push_front }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/map/try_emplace}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_map/try_emplace}}
| {{n/a|}}  
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_map/try_emplace}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell l17|try_emplace}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell ln | emplace_front}}
+
|{{cpp/container/table cell lo|erase}}
| {{n/a|}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/erase}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /deque/emplace_front }}
+
|{{cpp/container/table cell o|/vector/erase}}
| {{cpp/container/table cell n | /forward_list/emplace_front }}
+
|{{cpp/container/table cell o|/deque/erase}}
| {{cpp/container/table cell n | /list/emplace_front }}
+
|{{cpp/container/table cell n|/forward_list/erase_after|erase_after}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/erase}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/set/erase}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/multiset/erase}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/map/erase}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/multimap/erase}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_set/erase}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multiset/erase}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/erase}}
| {{n/a|}}  
+
|{{cpp/container/table cell n|/unordered_multimap/erase}}
| {{n/a|}}
+
|{{n/a|}}  
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/erase}}
 +
|{{cpp/container/table cell 23|/flat_multiset/erase}}
 +
|{{cpp/container/table cell 23|/flat_map/erase}}
 +
|{{cpp/container/table cell 23|/flat_multimap/erase}}
 +
|{{cpp/container/table cell lo|erase}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | pop_front}}
+
|{{cpp/container/table cell lo|push_front}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/pop_front }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /forward_list/pop_front }}
+
|{{cpp/container/table cell o|/deque/push_front}}
| {{cpp/container/table cell o | /list/pop_front }}  
+
|{{cpp/container/table cell n|/forward_list/push_front}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/push_front}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}  
+
|{{n/a|}}
| {{cpp/container/table cell o | /queue/pop }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /priority_queue/pop}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|push_front}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | push_back}}
+
|{{cpp/container/table cell l23|prepend_range}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /vector/push_back }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/push_back }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell 23|/deque/prepend_range}}
| {{cpp/container/table cell o | /list/push_back }}
+
|{{cpp/container/table cell 23|/forward_list/prepend_range}}
| {{n/a|}}
+
|{{cpp/container/table cell 23|/list/prepend_range}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /stack/push}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /queue/push}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /priority_queue/push}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell l23|prepend_range}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell ln | emplace_back}}
+
|{{cpp/container/table cell ln|emplace_front}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /vector/emplace_back }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /deque/emplace_back }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/deque/emplace_front}}
| {{cpp/container/table cell n | /list/emplace_back }}  
+
|{{cpp/container/table cell n|/forward_list/emplace_front}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/list/emplace_front}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /stack/emplace}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /queue/emplace}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /priority_queue/emplace}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|emplace_front}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | pop_back}}
+
|{{cpp/container/table cell lo|pop_front}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /vector/pop_back }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/pop_back }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/deque/pop_front}}
| {{cpp/container/table cell o | /list/pop_back }}
+
|{{cpp/container/table cell n|/forward_list/pop_front}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/pop_front}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /stack/pop}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}  
| {{n/a|}}
+
|{{cpp/container/table cell o|/queue/pop}}
 +
|{{cpp/container/table cell o|/priority_queue/pop}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|pop_front}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | swap}}
+
|{{cpp/container/table cell lo|push_back}}
| {{cpp/container/table cell n | /array/swap }}
+
|{{cpp/container/table cell o|cpp/string/basic_string/push_back}}
| {{cpp/container/table cell o | /vector/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/swap }}
+
|{{cpp/container/table cell o|/vector/push_back}}
| {{cpp/container/table cell n | /forward_list/swap }}
+
|{{cpp/container/table cell o|/deque/push_back}}
| {{cpp/container/table cell o | /list/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/swap }}
+
|{{cpp/container/table cell o|/list/push_back}}
| {{cpp/container/table cell o | /multiset/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multimap/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /stack/swap }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /queue/swap }}
+
|{{cpp/container/table cell o|/stack/push}}
| {{cpp/container/table cell n | /priority_queue/swap }}
+
|{{cpp/container/table cell o|/queue/push}}
 +
|{{cpp/container/table cell o|/priority_queue/push}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|push_back}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | merge }}
+
|{{cpp/container/table cell l23|append_range}}
| {{n/a|}}
+
|{{cpp/container/table cell 23|cpp/string/basic_string/append_range}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell 23|/vector/append_range}}
| {{cpp/container/table cell n | /forward_list/merge }}
+
|{{cpp/container/table cell 23|/deque/append_range}}
| {{cpp/container/table cell o | /list/merge }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /set/merge }}
+
|{{cpp/container/table cell 23|/list/append_range}}
| {{cpp/container/table cell 17 | /multiset/merge }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /map/merge }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /multimap/merge }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /unordered_set/merge }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /unordered_multiset/merge }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /unordered_map/merge }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /unordered_multimap/merge }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell 23|/stack/push_range}}
| {{n/a|}}
+
|{{cpp/container/table cell 23|/queue/push_range}}
 +
|{{cpp/container/table cell 23|/priority_queue/push_range}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell l23|append_range}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell l17 | extract}}
+
|{{cpp/container/table cell ln|emplace_back}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/vector/emplace_back}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/deque/emplace_back}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /set/extract }}
+
|{{cpp/container/table cell n|/list/emplace_back}}  
| {{cpp/container/table cell 17 | /multiset/extract }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /map/extract }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /multimap/extract }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /unordered_set/extract }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /unordered_multiset/extract }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /unordered_map/extract }}
+
|{{n/a|}}
| {{cpp/container/table cell 17 | /unordered_multimap/extract }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/stack/emplace}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/queue/emplace}}
 +
|{{cpp/container/table cell n|/priority_queue/emplace}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|emplace_back}}
 
|-
 
|-
! rowspan="6" | List operations
+
<!---->
| {{cpp/container/table cell lo | splice }}
+
|{{cpp/container/table cell lo|pop_back}}
| {{n/a|}}
+
|{{cpp/container/table cell n|cpp/string/basic_string/pop_back}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/vector/pop_back}}
| {{cpp/container/table cell n | /forward_list/splice_after | splice_after }}
+
|{{cpp/container/table cell o|/deque/pop_back}}
| {{cpp/container/table cell o | /list/splice }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/pop_back}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/stack/pop}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|pop_back}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | remove }}
+
|{{cpp/container/table cell lo|swap}}
| {{n/a|}}
+
|{{cpp/container/table cell o|cpp/string/basic_string/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/array/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/vector/swap}}
| {{cpp/container/table cell n | /forward_list/remove }}
+
|{{cpp/container/table cell o|/deque/swap}}
| {{cpp/container/table cell o | /list/remove }}
+
|{{cpp/container/table cell n|/forward_list/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/set/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/multiset/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/map/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/multimap/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_set/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multiset/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/stack/swap}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/queue/swap}}
 +
|{{cpp/container/table cell n|/priority_queue/swap}}
 +
|{{cpp/container/table cell 23|/unordered_set/swap}}
 +
|{{cpp/container/table cell 23|/unordered_multiset/swap}}
 +
|{{cpp/container/table cell 23|/unordered_map/swap}}
 +
|{{cpp/container/table cell 23|/unordered_multimap/swap}}
 +
|{{cpp/container/table cell lo|swap}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | remove_if }}
+
|{{cpp/container/table cell lo|merge}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /forward_list/remove | remove_if }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /list/remove | remove_if }}
+
|{{cpp/container/table cell n|/forward_list/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/set/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/multiset/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/map/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/multimap/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_set/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_multiset/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_map/merge}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_multimap/merge}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|merge}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | reverse }}
+
|{{cpp/container/table cell l17|extract <ref>e.g., {{c|node_type extract(const_iterator)}} or {{c|node_type extract(Key&)}}</ref>}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /forward_list/reverse }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /list/reverse }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/set/extract}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/multiset/extract}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/map/extract}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/multimap/extract}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_set/extract}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_multiset/extract}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_map/extract}}
| {{n/a|}}
+
|{{cpp/container/table cell 17|/unordered_multimap/extract}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell l17|extract}}
 
|-
 
|-
<!-- -->
+
!rowspan="6"|List operations
| {{cpp/container/table cell lo | unique }}
+
|{{cpp/container/table cell lo|splice}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /forward_list/unique }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /list/unique }}
+
|{{cpp/container/table cell n|/forward_list/splice_after|splice_after}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/splice}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|splice}}
 +
!rowspan="6"|List operations
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | sort }}
+
|{{cpp/container/table cell lo|remove}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /forward_list/sort }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /list/sort }}
+
|{{cpp/container/table cell n|/forward_list/remove}}
| {{n/a|}}
+
|{{cpp/container/table cell o|/list/remove}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|remove}}
 
|-
 
|-
! rowspan="6" | Lookup
+
<!---->
| {{cpp/container/table cell lo | count}}
+
|{{cpp/container/table cell lo|remove_if}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/forward_list/remove|remove_if}}
| {{cpp/container/table cell o | /set/count }}
+
|{{cpp/container/table cell o|/list/remove|remove_if}}
| {{cpp/container/table cell o | /multiset/count }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/count }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/count }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/count }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/count }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/count }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multimap/count }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|remove_if}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | find}}
+
|{{cpp/container/table cell lo|reverse}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/forward_list/reverse}}
| {{cpp/container/table cell o | /set/find }}
+
|{{cpp/container/table cell o|/list/reverse}}
| {{cpp/container/table cell o | /multiset/find }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/find }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/find }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/find }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/find }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_map/find }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multimap/find }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|reverse}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell l20 | contains}}
+
|{{cpp/container/table cell lo|unique}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/forward_list/unique}}
| {{cpp/container/table cell 20 | /set/contains }}
+
|{{cpp/container/table cell o|/list/unique}}
| {{cpp/container/table cell 20 | /multiset/contains }}
+
|{{n/a|}}
| {{cpp/container/table cell 20 | /map/contains }}
+
|{{n/a|}}
| {{cpp/container/table cell 20 | /multimap/contains }}
+
|{{n/a|}}
| {{cpp/container/table cell 20 | /unordered_set/contains }}
+
|{{n/a|}}
| {{cpp/container/table cell 20 | /unordered_multiset/contains }}
+
|{{n/a|}}
| {{cpp/container/table cell 20 | /unordered_map/contains }}
+
|{{n/a|}}
| {{cpp/container/table cell 20 | /unordered_multimap/contains }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|unique}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | lower_bound}}
+
|{{cpp/container/table cell lo|sort}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/forward_list/sort}}
| {{cpp/container/table cell o | /set/lower_bound }}
+
|{{cpp/container/table cell o|/list/sort}}
| {{cpp/container/table cell o | /multiset/lower_bound }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/lower_bound }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/lower_bound }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|sort}}
 
|-
 
|-
<!-- -->
+
!rowspan="9"|Bucket and Hash
| {{cpp/container/table cell lo | upper_bound}}
+
|{{cpp/container/table cell lnn|begin(size_type)|cbegin(size_type)}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/upper_bound }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multiset/upper_bound }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/upper_bound }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/upper_bound }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_set/begin2|begin(size_type)|cbegin(size_type)}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_multiset/begin2|begin(size_type)|cbegin(size_type)}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_map/begin2|begin(size_type)|cbegin(size_type)}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_multimap/begin2|begin(size_type)|cbegin(size_type)}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lnn|begin(size_type)|cbegin(size_type)}}
 +
!rowspan="9"|Bucket and Hash
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | equal_range}}
+
|{{cpp/container/table cell lnn|end(size_type)|cend(size_type)}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/equal_range }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multiset/equal_range }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/equal_range }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/equal_range }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/equal_range }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/equal_range }}
+
|{{cpp/container/table cell nn|/unordered_set/end2|end(size_type)|cend(size_type)}}
| {{cpp/container/table cell n | /unordered_map/equal_range }}
+
|{{cpp/container/table cell nn|/unordered_multiset/end2|end(size_type)|cend(size_type)}}
| {{cpp/container/table cell n | /unordered_multimap/equal_range }}
+
|{{cpp/container/table cell nn|/unordered_map/end2|end(size_type)|cend(size_type)}}
| {{n/a|}}
+
|{{cpp/container/table cell nn|/unordered_multimap/end|end(size_type)|cend(size_type)}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lnn|end(size_type)|cend(size_type)}}
 
|-
 
|-
! rowspan="4" | Observers
+
<!---->
| {{cpp/container/table cell lo | key_comp}}
+
|{{cpp/container/table cell ln|bucket_count}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/key_comp }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multiset/key_comp }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/key_comp }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/key_comp }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_set/bucket_count}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multiset/bucket_count}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/bucket_count}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/bucket_count}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|bucket_count}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell lo | value_comp}}
+
|{{cpp/container/table cell ln|max_bucket_count}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/value_comp }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multiset/value_comp }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/value_comp }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/value_comp }}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_set/max_bucket_count}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multiset/max_bucket_count}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_map/max_bucket_count}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/max_bucket_count}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|max_bucket_count}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell ln | hash_function}}
+
|{{cpp/container/table cell ln|bucket_size}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/hash_function }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/hash_function }}
+
|{{cpp/container/table cell n|/unordered_set/bucket_size}}
| {{cpp/container/table cell n | /unordered_map/hash_function }}
+
|{{cpp/container/table cell n|/unordered_multiset/bucket_size}}
| {{cpp/container/table cell n | /unordered_multimap/hash_function }}
+
|{{cpp/container/table cell n|/unordered_map/bucket_size}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/bucket_size}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|bucket_size}}
 
|-
 
|-
<!-- -->
+
<!---->
| {{cpp/container/table cell ln | key_eq}}
+
|{{cpp/container/table cell ln|bucket}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/key_eq }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/key_eq }}
+
|{{cpp/container/table cell n|/unordered_set/bucket}}
| {{cpp/container/table cell n | /unordered_map/key_eq }}
+
|{{cpp/container/table cell n|/unordered_multiset/bucket}}
| {{cpp/container/table cell n | /unordered_multimap/key_eq }}
+
|{{cpp/container/table cell n|/unordered_map/bucket}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/bucket}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|bucket}}
 
|-
 
|-
! Allocator
+
<!---->
| {{cpp/container/table cell lo | get_allocator}}
+
|{{cpp/container/table cell ln|load_factor}}
| {{n/a|}}
+
|{{n/a|}}
| {{cpp/container/table cell o | /vector/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /deque/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /forward_list/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /list/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /set/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multiset/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /map/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell o | /multimap/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_set/get_allocator }}
+
|{{n/a|}}
| {{cpp/container/table cell n | /unordered_multiset/get_allocator }}
+
|{{cpp/container/table cell n|/unordered_set/load_factor}}
| {{cpp/container/table cell n | /unordered_map/get_allocator }}
+
|{{cpp/container/table cell n|/unordered_multiset/load_factor}}
| {{cpp/container/table cell n | /unordered_multimap/get_allocator }}
+
|{{cpp/container/table cell n|/unordered_map/load_factor}}
| {{n/a|}}
+
|{{cpp/container/table cell n|/unordered_multimap/load_factor}}
| {{n/a|}}
+
|{{n/a|}}
| {{n/a|}}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|load_factor}}
 
|-
 
|-
! colspan="2" | Container
+
<!---->
! {{cpp/container/table cell hn | /array }}
+
|{{cpp/container/table cell ln|max_load_factor}}
! {{cpp/container/table cell ho | /vector }}
+
|{{n/a|}}
! {{cpp/container/table cell ho | /deque }}
+
|{{n/a|}}
! {{cpp/container/table cell hn | /forward_list }}
+
|{{n/a|}}
! {{cpp/container/table cell ho | /list }}
+
|{{n/a|}}
! {{cpp/container/table cell ho | /set }}
+
|{{n/a|}}
! {{cpp/container/table cell ho | /multiset }}
+
|{{n/a|}}
! {{cpp/container/table cell ho | /map }}
+
|{{n/a|}}
! {{cpp/container/table cell ho | /multimap }}
+
|{{n/a|}}
! {{cpp/container/table cell hn | /unordered_set }}
+
|{{n/a|}}
! {{cpp/container/table cell hn | /unordered_multiset }}
+
|{{n/a|}}
! {{cpp/container/table cell hn | /unordered_map }}
+
|{{cpp/container/table cell n|/unordered_set/max_load_factor}}
! {{cpp/container/table cell hn | /unordered_multimap }}
+
|{{cpp/container/table cell n|/unordered_multiset/max_load_factor}}
! {{cpp/container/table cell ho | /stack }}
+
|{{cpp/container/table cell n|/unordered_map/max_load_factor}}
! {{cpp/container/table cell ho | /queue }}
+
|{{cpp/container/table cell n|/unordered_multimap/max_load_factor}}
! {{cpp/container/table cell ho | /priority_queue }}
+
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|max_load_factor}}
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell ln|rehash}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell n|/unordered_set/rehash}}
 +
|{{cpp/container/table cell n|/unordered_multiset/rehash}}
 +
|{{cpp/container/table cell n|/unordered_map/rehash}}
 +
|{{cpp/container/table cell n|/unordered_multimap/rehash}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|rehash}}
 +
|-
 +
<!---->
 +
!rowspan="6"|Lookup
 +
|{{cpp/container/table cell lo|count}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/set/count}}
 +
|{{cpp/container/table cell o|/multiset/count}}
 +
|{{cpp/container/table cell o|/map/count}}
 +
|{{cpp/container/table cell o|/multimap/count}}
 +
|{{cpp/container/table cell n|/unordered_set/count}}
 +
|{{cpp/container/table cell n|/unordered_multiset/count}}
 +
|{{cpp/container/table cell n|/unordered_map/count}}
 +
|{{cpp/container/table cell n|/unordered_multimap/count}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/count}}
 +
|{{cpp/container/table cell 23|/flat_multiset/count}}
 +
|{{cpp/container/table cell 23|/flat_map/count}}
 +
|{{cpp/container/table cell 23|/flat_multimap/count}}
 +
|{{cpp/container/table cell lo|count}}
 +
!rowspan="6"|Lookup
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell lo|find}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/find}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/set/find}}
 +
|{{cpp/container/table cell o|/multiset/find}}
 +
|{{cpp/container/table cell o|/map/find}}
 +
|{{cpp/container/table cell o|/multimap/find}}
 +
|{{cpp/container/table cell n|/unordered_set/find}}
 +
|{{cpp/container/table cell n|/unordered_multiset/find}}
 +
|{{cpp/container/table cell n|/unordered_map/find}}
 +
|{{cpp/container/table cell n|/unordered_multimap/find}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/find}}
 +
|{{cpp/container/table cell 23|/flat_multiset/find}}
 +
|{{cpp/container/table cell 23|/flat_map/find}}
 +
|{{cpp/container/table cell 23|/flat_multimap/find}}
 +
|{{cpp/container/table cell lo|find}}
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell l20|contains}}
 +
|{{cpp/container/table cell 23|cpp/string/basic_string/contains}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 20|/set/contains}}
 +
|{{cpp/container/table cell 20|/multiset/contains}}
 +
|{{cpp/container/table cell 20|/map/contains}}
 +
|{{cpp/container/table cell 20|/multimap/contains}}
 +
|{{cpp/container/table cell 20|/unordered_set/contains}}
 +
|{{cpp/container/table cell 20|/unordered_multiset/contains}}
 +
|{{cpp/container/table cell 20|/unordered_map/contains}}
 +
|{{cpp/container/table cell 20|/unordered_multimap/contains}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/contains}}
 +
|{{cpp/container/table cell 23|/flat_multiset/contains}}
 +
|{{cpp/container/table cell 23|/flat_map/contains}}
 +
|{{cpp/container/table cell 23|/flat_multimap/contains}}
 +
|{{cpp/container/table cell l20|contains}}
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell lo|lower_bound}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/set/lower_bound}}
 +
|{{cpp/container/table cell o|/multiset/lower_bound}}
 +
|{{cpp/container/table cell o|/map/lower_bound}}
 +
|{{cpp/container/table cell o|/multimap/lower_bound}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/lower_bound}}
 +
|{{cpp/container/table cell 23|/flat_multiset/lower_bound}}
 +
|{{cpp/container/table cell 23|/flat_map/lower_bound}}
 +
|{{cpp/container/table cell 23|/flat_multimap/lower_bound}}
 +
|{{cpp/container/table cell lo|lower_bound}}
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell lo|upper_bound}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/set/upper_bound}}
 +
|{{cpp/container/table cell o|/multiset/upper_bound}}
 +
|{{cpp/container/table cell o|/map/upper_bound}}
 +
|{{cpp/container/table cell o|/multimap/upper_bound}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/upper_bound}}
 +
|{{cpp/container/table cell 23|/flat_multiset/upper_bound}}
 +
|{{cpp/container/table cell 23|/flat_map/upper_bound}}
 +
|{{cpp/container/table cell 23|/flat_multimap/upper_bound}}
 +
|{{cpp/container/table cell lo|upper_bound}}
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell lo|equal_range}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/set/equal_range}}
 +
|{{cpp/container/table cell o|/multiset/equal_range}}
 +
|{{cpp/container/table cell o|/map/equal_range}}
 +
|{{cpp/container/table cell o|/multimap/equal_range}}
 +
|{{cpp/container/table cell n|/unordered_set/equal_range}}
 +
|{{cpp/container/table cell n|/unordered_multiset/equal_range}}
 +
|{{cpp/container/table cell n|/unordered_map/equal_range}}
 +
|{{cpp/container/table cell n|/unordered_multimap/equal_range}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/equal_range}}
 +
|{{cpp/container/table cell 23|/flat_multiset/equal_range}}
 +
|{{cpp/container/table cell 23|/flat_map/equal_range}}
 +
|{{cpp/container/table cell 23|/flat_multimap/equal_range}}
 +
|{{cpp/container/table cell lo|equal_range}}
 +
|-
 +
!rowspan="4"|Observers
 +
|{{cpp/container/table cell lo|key_comp}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/set/key_comp}}
 +
|{{cpp/container/table cell o|/multiset/key_comp}}
 +
|{{cpp/container/table cell o|/map/key_comp}}
 +
|{{cpp/container/table cell o|/multimap/key_comp}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/key_comp}}
 +
|{{cpp/container/table cell 23|/flat_multiset/key_comp}}
 +
|{{cpp/container/table cell 23|/flat_map/key_comp}}
 +
|{{cpp/container/table cell 23|/flat_multimap/key_comp}}
 +
|{{cpp/container/table cell lo|key_comp}}
 +
!rowspan="4"|Observers
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell lo|value_comp}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/set/value_comp}}
 +
|{{cpp/container/table cell o|/multiset/value_comp}}
 +
|{{cpp/container/table cell o|/map/value_comp}}
 +
|{{cpp/container/table cell o|/multimap/value_comp}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/value_comp}}
 +
|{{cpp/container/table cell 23|/flat_multiset/value_comp}}
 +
|{{cpp/container/table cell 23|/flat_map/value_comp}}
 +
|{{cpp/container/table cell 23|/flat_multimap/value_comp}}
 +
|{{cpp/container/table cell lo|value_comp}}
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell ln|hash_function}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell n|/unordered_set/hash_function}}
 +
|{{cpp/container/table cell n|/unordered_multiset/hash_function}}
 +
|{{cpp/container/table cell n|/unordered_map/hash_function}}
 +
|{{cpp/container/table cell n|/unordered_multimap/hash_function}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|hash_function}}
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell ln|key_eq}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell n|/unordered_set/key_eq}}
 +
|{{cpp/container/table cell n|/unordered_multiset/key_eq}}
 +
|{{cpp/container/table cell n|/unordered_map/key_eq}}
 +
|{{cpp/container/table cell n|/unordered_multimap/key_eq}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell ln|key_eq}}
 +
|-
 +
!Allocator
 +
|{{cpp/container/table cell lo|get_allocator}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/get_allocator}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/vector/get_allocator}}
 +
|{{cpp/container/table cell o|/deque/get_allocator}}
 +
|{{cpp/container/table cell n|/forward_list/get_allocator}}
 +
|{{cpp/container/table cell o|/list/get_allocator}}
 +
|{{cpp/container/table cell o|/set/get_allocator}}
 +
|{{cpp/container/table cell o|/multiset/get_allocator}}
 +
|{{cpp/container/table cell o|/map/get_allocator}}
 +
|{{cpp/container/table cell o|/multimap/get_allocator}}
 +
|{{cpp/container/table cell n|/unordered_set/get_allocator}}
 +
|{{cpp/container/table cell n|/unordered_multiset/get_allocator}}
 +
|{{cpp/container/table cell n|/unordered_map/get_allocator}}
 +
|{{cpp/container/table cell n|/unordered_multimap/get_allocator}}
 +
|{{n/a|}} 
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|get_allocator}}
 +
!Allocator
 +
|-
 +
!rowspan="2"|Adaptors
 +
|{{cpp/container/table cell l23|extract <ref>e.g., {{c|container_type extract() &&}}
 +
</ref>}}
 +
|{{n/a|}} 
 +
|{{n/a|}} 
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/extract}}
 +
|{{cpp/container/table cell 23|/flat_multiset/extract}}
 +
|{{cpp/container/table cell 23|/flat_map/extract}}
 +
|{{cpp/container/table cell 23|/flat_multimap/extract}}
 +
|{{cpp/container/table cell l23|extract}}
 +
!rowspan="2"|Adaptors
 +
|-
 +
<!---->
 +
|{{cpp/container/table cell l23|replace}}
 +
|{{n/a|}} 
 +
|{{n/a|}} 
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/replace}}
 +
|{{cpp/container/table cell 23|/flat_multiset/replace}}
 +
|{{cpp/container/table cell 23|/flat_map/replace}}
 +
|{{cpp/container/table cell 23|/flat_multimap/replace}}
 +
|{{cpp/container/table cell l23|replace}}
 +
|-
 +
!colspan="2"|Container
 +
!{{cpp/container/table cell ho|cpp/string/basic_string}}
 +
!{{cpp/container/table cell hn|/array}}
 +
!{{cpp/container/table cell ho|/vector}}
 +
!{{cpp/container/table cell ho|/deque}}
 +
!{{cpp/container/table cell hn|/forward_list}}
 +
!{{cpp/container/table cell ho|/list}}
 +
!{{cpp/container/table cell ho|/set}}
 +
!{{cpp/container/table cell ho|/multiset}}
 +
!{{cpp/container/table cell ho|/map}}
 +
!{{cpp/container/table cell ho|/multimap}}
 +
!{{cpp/container/table cell hn|/unordered_set}}
 +
!{{cpp/container/table cell hn|/unordered_multiset}}
 +
!{{cpp/container/table cell hn|/unordered_map}}
 +
!{{cpp/container/table cell hn|/unordered_multimap}}
 +
!{{cpp/container/table cell ho|/stack}}
 +
!{{cpp/container/table cell ho|/queue}}
 +
!{{cpp/container/table cell ho|/priority_queue}}
 +
!{{cpp/container/table cell h23|/flat_set}}
 +
!{{cpp/container/table cell h23|/flat_multiset}}
 +
!{{cpp/container/table cell h23|/flat_map}}
 +
!{{cpp/container/table cell h23|/flat_multimap}}
 +
!colspan="2"|Container
 
|-  
 
|-  
| colspan="2" |
+
!colspan="2"|Header
! colspan="5" | Sequence containers   
+
!{{tt|{{header|string}}}}
! colspan="4" | Associative containers  
+
!{{tt|{{header|array}}}}
! colspan="4" | Unordered associative containers  
+
!{{tt|{{header|vector}}}}
! colspan="3" | Container adaptors
+
!{{tt|{{header|deque}}}}
 +
!{{tt|{{header|forward_list}}}}
 +
!{{tt|{{header|list}}}}
 +
!colspan="2"|{{tt|{{header|set}}}}
 +
!colspan="2"|{{tt|{{header|map}}}}
 +
!colspan="2"|{{tt|{{header|unordered_set}}}}
 +
!colspan="2"|{{tt|{{header|unordered_map}}}}
 +
!{{tt|{{header|stack}}}}
 +
!colspan="2"|{{tt|{{header|queue}}}}
 +
!colspan="2"|{{tt|{{header|flat_set}}}}
 +
!colspan="2"|{{tt|{{header|flat_map}}}}
 +
!colspan="2"|Header
 +
|-
 +
|colspan="2"|
 +
!colspan="1"|Pseudo container
 +
!colspan="5"|Sequence containers   
 +
!colspan="4"|Associative containers  
 +
!colspan="4"|Unordered associative containers  
 +
!colspan="7"|Container adaptors
 +
!colspan="2"|
 
|}
 
|}
 
</div>
 
</div>
 +
 +
* Note: functions in two different {{c|extract}} lines have different meanings and syntax:
 +
<references/>
 +
 +
====Non-member function table====
 +
<div style="max-width: 100%; max-height: 80vh; overflow: scroll;">
 +
{|class="wikitable" style="font-size:0.8em; line-height:1em; text-align: center;"
 +
|-
 +
|colspan="2"|
 +
!colspan="1"|Pseudo container
 +
!colspan="5"|Sequence containers 
 +
!colspan="4"|Associative containers
 +
!colspan="4"|Unordered associative containers
 +
!colspan="7"|Container adaptors
 +
!colspan="2"|
 +
|-
 +
!colspan="2"|Header
 +
!{{tt|{{header|string}}}}
 +
!{{tt|{{header|array}}}}
 +
!{{tt|{{header|vector}}}}
 +
!{{tt|{{header|deque}}}}
 +
!{{tt|{{header|forward_list}}}}
 +
!{{tt|{{header|list}}}}
 +
!colspan="2"|{{tt|{{header|set}}}}
 +
!colspan="2"|{{tt|{{header|map}}}}
 +
!colspan="2"|{{tt|{{header|unordered_set}}}}
 +
!colspan="2"|{{tt|{{header|unordered_map}}}}
 +
!{{tt|{{header|stack}}}}
 +
!colspan="2"|{{tt|{{header|queue}}}}
 +
!colspan="2"|{{tt|{{header|flat_set}}}}
 +
!colspan="2"|{{tt|{{header|flat_map}}}}
 +
!colspan="2"|Header
 +
|-
 +
!colspan="2"|Container
 +
!{{cpp/container/table cell ho|cpp/string/basic_string}}
 +
!{{cpp/container/table cell hn|/array}}
 +
!{{cpp/container/table cell ho|/vector}}
 +
!{{cpp/container/table cell ho|/deque}}
 +
!{{cpp/container/table cell hn|/forward_list}}
 +
!{{cpp/container/table cell ho|/list}}
 +
!{{cpp/container/table cell ho|/set}}
 +
!{{cpp/container/table cell ho|/multiset}}
 +
!{{cpp/container/table cell ho|/map}}
 +
!{{cpp/container/table cell ho|/multimap}}
 +
!{{cpp/container/table cell hn|/unordered_set}}
 +
!{{cpp/container/table cell hn|/unordered_multiset}}
 +
!{{cpp/container/table cell hn|/unordered_map}}
 +
!{{cpp/container/table cell hn|/unordered_multimap}}
 +
!{{cpp/container/table cell ho|/stack}}
 +
!{{cpp/container/table cell ho|/queue}}
 +
!{{cpp/container/table cell ho|/priority_queue}}
 +
!{{cpp/container/table cell h23|/flat_set}}
 +
!{{cpp/container/table cell h23|/flat_multiset}}
 +
!{{cpp/container/table cell h23|/flat_map}}
 +
!{{cpp/container/table cell h23|/flat_multimap}}
 +
!colspan="2"|Container
 +
|-
 +
!rowspan="10"|Non-member function
 +
|{{cpp/container/table cell lo|operator{{==}}}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell n|/array/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/vector/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/deque/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell n|/forward_list/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/list/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/set/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/multiset/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/map/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/multimap/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell n|/unordered_set/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell n|/unordered_multiset/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell n|/unordered_map/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell n|/unordered_multimap/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/stack/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell o|/queue/operator_cmp|operator{{==}}}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell 23|/flat_multiset/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell 23|/flat_map/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell 23|/flat_multimap/operator_cmp|operator{{==}}}}
 +
|{{cpp/container/table cell lo|operator{{==}}}}
 +
!rowspan="10"|Non-member function
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell lo|operator!{{=}} {{mark until c++20|removed=yes}}}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell n|/array/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/vector/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/deque/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell n|/forward_list/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/list/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/set/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/multiset/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/map/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/multimap/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell n|/unordered_set/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell n|/unordered_multiset/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell n|/unordered_map/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell n|/unordered_multimap/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/stack/operator_cmp|operator!{{=}}}}
 +
|{{cpp/container/table cell o|/queue/operator_cmp|operator!{{=}}}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|operator!{{=}} {{mark until c++20|removed=yes}}}}
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell lo|operator< {{mark until c++20|removed=yes}}}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/operator_cmp|operator<}}
 +
|{{cpp/container/table cell n|/array/operator_cmp|operator<}}
 +
|{{cpp/container/table cell o|/vector/operator_cmp|operator<}}
 +
|{{cpp/container/table cell o|/deque/operator_cmp|operator<}}
 +
|{{cpp/container/table cell n|/forward_list/operator_cmp|operator<}}
 +
|{{cpp/container/table cell o|/list/operator_cmp|operator<}}
 +
|{{cpp/container/table cell o|/set/operator_cmp|operator<}}
 +
|{{cpp/container/table cell o|/multiset/operator_cmp|operator<}}
 +
|{{cpp/container/table cell o|/map/operator_cmp|operator<}}
 +
|{{cpp/container/table cell o|/multimap/operator_cmp|operator<}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/stack/operator_cmp|operator<}}
 +
|{{cpp/container/table cell o|/queue/operator_cmp|operator<}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|operator< {{mark until c++20|removed=yes}}}}
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell lo|operator<{{=}} {{mark until c++20|removed=yes}}}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell n|/array/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell o|/vector/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell o|/deque/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell n|/forward_list/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell o|/list/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell o|/set/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell o|/multiset/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell o|/map/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell o|/multimap/operator_cmp|operator<{{=}}}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/stack/operator_cmp|operator<{{=}}}}
 +
|{{cpp/container/table cell o|/queue/operator_cmp|operator<{{=}}}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|operator<{{=}} {{mark until c++20|removed=yes}}}}
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell lo|operator> {{mark until c++20|removed=yes}}}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/operator_cmp|operator>}}
 +
|{{cpp/container/table cell n|/array/operator_cmp|operator>}}
 +
|{{cpp/container/table cell o|/vector/operator_cmp|operator>}}
 +
|{{cpp/container/table cell o|/deque/operator_cmp|operator>}}
 +
|{{cpp/container/table cell n|/forward_list/operator_cmp|operator>}}
 +
|{{cpp/container/table cell o|/list/operator_cmp|operator>}}
 +
|{{cpp/container/table cell o|/set/operator_cmp|operator>}}
 +
|{{cpp/container/table cell o|/multiset/operator_cmp|operator>}}
 +
|{{cpp/container/table cell o|/map/operator_cmp|operator>}}
 +
|{{cpp/container/table cell o|/multimap/operator_cmp|operator>}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/stack/operator_cmp|operator>}}
 +
|{{cpp/container/table cell o|/queue/operator_cmp|operator>}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|operator> {{mark until c++20|removed=yes}}}}
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell lo|operator>{{=}} {{mark until c++20|removed=yes}}}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell n|/array/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell o|/vector/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell o|/deque/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell n|/forward_list/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell o|/list/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell o|/set/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell o|/multiset/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell o|/map/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell o|/multimap/operator_cmp|operator>{{=}}}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell o|/stack/operator_cmp|operator>{{=}}}}
 +
|{{cpp/container/table cell o|/queue/operator_cmp|operator>{{=}}}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell lo|operator>{{=}} {{mark until c++20|removed=yes}}}}
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell l20|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|cpp/string/basic_string/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/array/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/vector/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/deque/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/forward_list/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/list/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/set/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/multiset/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/map/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/multimap/operator_cmp|operator<{{=}}>}}
 +
|{{n/a|}} 
 +
|{{n/a|}} 
 +
|{{n/a|}} 
 +
|{{n/a|}} 
 +
|{{cpp/container/table cell 20|/stack/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 20|/queue/operator_cmp|operator<{{=}}>}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 23|/flat_multiset/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 23|/flat_map/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell 23|/flat_multimap/operator_cmp|operator<{{=}}>}}
 +
|{{cpp/container/table cell l20|operator<{{=}}>}}
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell lo|swap}}
 +
|{{cpp/container/table cell o|cpp/string/basic_string/swap}}
 +
|{{cpp/container/table cell n|/array/swap}}
 +
|{{cpp/container/table cell o|/vector/swap}}
 +
|{{cpp/container/table cell o|/deque/swap}}
 +
|{{cpp/container/table cell n|/forward_list/swap}}
 +
|{{cpp/container/table cell o|/list/swap}}
 +
|{{cpp/container/table cell o|/set/swap}}
 +
|{{cpp/container/table cell o|/multiset/swap}}
 +
|{{cpp/container/table cell o|/map/swap}}
 +
|{{cpp/container/table cell o|/multimap/swap}}
 +
|{{cpp/container/table cell n|/unordered_set/swap}}
 +
|{{cpp/container/table cell n|/unordered_multiset/swap}}
 +
|{{cpp/container/table cell n|/unordered_map/swap}}
 +
|{{cpp/container/table cell n|/unordered_multimap/swap}}
 +
|{{cpp/container/table cell o|/stack/swap}}
 +
|{{cpp/container/table cell o|/queue/swap}}
 +
|{{cpp/container/table cell o|/priority_queue/swap}}
 +
|{{cpp/container/table cell 23|/flat_set/swap}}
 +
|{{cpp/container/table cell 23|/flat_multiset/swap}}
 +
|{{cpp/container/table cell 23|/flat_map/swap}}
 +
|{{cpp/container/table cell 23|/flat_multimap/swap}}
 +
|{{cpp/container/table cell lo|swap}}
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell l20|erase}}
 +
|{{cpp/container/table cell 20|cpp/string/basic_string/erase2|erase}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 20|/vector/erase2|erase}}
 +
|{{cpp/container/table cell 20|/deque/erase2|erase}}
 +
|{{cpp/container/table cell 20|/forward_list/erase2|erase}}
 +
|{{cpp/container/table cell 20|/list/erase2|erase}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell l20|erase}}
 +
|-
 +
<!----->
 +
|{{cpp/container/table cell l20|erase_if}}
 +
|{{cpp/container/table cell 20|cpp/string/basic_string/erase2|erase_if}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 20|/vector/erase2|erase_if}}
 +
|{{cpp/container/table cell 20|/deque/erase2|erase_if}}
 +
|{{cpp/container/table cell 20|/forward_list/erase2|erase_if}}
 +
|{{cpp/container/table cell 20|/list/erase2|erase_if}}
 +
|{{cpp/container/table cell 20|/set/erase_if|erase_if}}
 +
|{{cpp/container/table cell 20|/multiset/erase_if|erase_if}}
 +
|{{cpp/container/table cell 20|/map/erase_if|erase_if}}
 +
|{{cpp/container/table cell 20|/multimap/erase_if|erase_if}}
 +
|{{cpp/container/table cell 20|/unordered_set/erase_if|erase_if}}
 +
|{{cpp/container/table cell 20|/unordered_multiset/erase_if|erase_if}}
 +
|{{cpp/container/table cell 20|/unordered_map/erase_if|erase_if}}
 +
|{{cpp/container/table cell 20|/unordered_multimap/erase_if|erase_if}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{n/a|}}
 +
|{{cpp/container/table cell 23|/flat_set/erase_if|erase_if}}
 +
|{{cpp/container/table cell 23|/flat_multiset/erase_if|erase_if}}
 +
|{{cpp/container/table cell 23|/flat_map/erase_if|erase_if}}
 +
|{{cpp/container/table cell 23|/flat_multimap/erase_if|erase_if}}
 +
|{{cpp/container/table cell l20|erase_if}}
 +
|-
 +
!colspan="2"|Container
 +
!{{cpp/container/table cell ho|cpp/string/basic_string}}
 +
!{{cpp/container/table cell hn|/array}}
 +
!{{cpp/container/table cell ho|/vector}}
 +
!{{cpp/container/table cell ho|/deque}}
 +
!{{cpp/container/table cell hn|/forward_list}}
 +
!{{cpp/container/table cell ho|/list}}
 +
!{{cpp/container/table cell ho|/set}}
 +
!{{cpp/container/table cell ho|/multiset}}
 +
!{{cpp/container/table cell ho|/map}}
 +
!{{cpp/container/table cell ho|/multimap}}
 +
!{{cpp/container/table cell hn|/unordered_set}}
 +
!{{cpp/container/table cell hn|/unordered_multiset}}
 +
!{{cpp/container/table cell hn|/unordered_map}}
 +
!{{cpp/container/table cell hn|/unordered_multimap}}
 +
!{{cpp/container/table cell ho|/stack}}
 +
!{{cpp/container/table cell ho|/queue}}
 +
!{{cpp/container/table cell ho|/priority_queue}}
 +
!{{cpp/container/table cell h23|/flat_set}}
 +
!{{cpp/container/table cell h23|/flat_multiset}}
 +
!{{cpp/container/table cell h23|/flat_map}}
 +
!{{cpp/container/table cell h23|/flat_multimap}}
 +
!colspan="2"|Container
 +
|-
 +
!colspan="2"|Header
 +
!{{tt|{{header|string}}}}
 +
!{{tt|{{header|array}}}}
 +
!{{tt|{{header|vector}}}}
 +
!{{tt|{{header|deque}}}}
 +
!{{tt|{{header|forward_list}}}}
 +
!{{tt|{{header|list}}}}
 +
!colspan="2"|{{tt|{{header|set}}}}
 +
!colspan="2"|{{tt|{{header|map}}}}
 +
!colspan="2"|{{tt|{{header|unordered_set}}}}
 +
!colspan="2"|{{tt|{{header|unordered_map}}}}
 +
!{{tt|{{header|stack}}}}
 +
!colspan="2"|{{tt|{{header|queue}}}}
 +
!colspan="2"|{{tt|{{header|flat_set}}}}
 +
!colspan="2"|{{tt|{{header|flat_map}}}}
 +
!colspan="2"|Header
 +
|-
 +
|colspan="2"|
 +
!colspan="1"|Pseudo container
 +
!colspan="5"|Sequence containers 
 +
!colspan="4"|Associative containers
 +
!colspan="4"|Unordered associative containers
 +
!colspan="7"|Container adaptors
 +
!colspan="2"|
 +
|}
 
</div>
 
</div>
  
===Non-member function table===
+
{{rrev|since=c++20|
{{todo|Create similar table for C++20 non-member container functions, e.g. erase_if, etc., and maybe begin/end families too.}}
+
{{cpp/note synthesized compare}}
 +
}}
  
 
===Defect reports===
 
===Defect reports===
Line 1,288: Line 2,395:
 
* {{named req|AllocatorAwareContainer}}
 
* {{named req|AllocatorAwareContainer}}
 
* {{named req|UnorderedAssociativeContainer}}
 
* {{named req|UnorderedAssociativeContainer}}
 
 
{{dsc begin}}
 
{{dsc begin}}
 
{{dsc inc|cpp/numeric/dsc valarray}}
 
{{dsc inc|cpp/numeric/dsc valarray}}
 +
{{dsc inc|cpp/string/dsc basic string}}
 +
{{dsc inc|cpp/string/dsc basic string view}}
 
{{dsc end}}
 
{{dsc end}}
  
 
{{langlinks|ar|de|es|fr|it|ja|pl|pt|ru|tr|zh}}
 
{{langlinks|ar|de|es|fr|it|ja|pl|pt|ru|tr|zh}}

Latest revision as of 21:41, 2 August 2024

The Containers library is a generic collection of class templates and algorithms that allow programmers to easily implement common data structures like queues, lists and stacks. There are two(until C++11)three(since C++11) classes of containers:

  • sequence containers,
  • associative containers, and
  • unordered associative containers,
(since C++11)

each of which is designed to support a different set of operations.

The container manages the storage space that is allocated for its elements and provides member functions to access them, either directly or through iterators (objects with properties similar to pointers).

Most containers have at least several member functions in common, and share functionalities. Which container is the best for the particular application depends not only on the offered functionality, but also on its efficiency for different workloads.

Contents

[edit] Sequence containers

Sequence containers implement data structures which can be accessed sequentially.

(C++11)
fixed-sized inplace contiguous array
(class template) [edit]
dynamic contiguous array
(class template) [edit]
dynamically-resizable, fixed capacity, inplace contiguous array
(class template) [edit]
double-ended queue
(class template) [edit]
singly-linked list
(class template) [edit]
doubly-linked list
(class template) [edit]

[edit] Associative containers

Associative containers implement sorted data structures that can be quickly searched (O(log n) complexity).

collection of unique keys, sorted by keys
(class template) [edit]
collection of key-value pairs, sorted by keys, keys are unique
(class template) [edit]
collection of keys, sorted by keys
(class template) [edit]
collection of key-value pairs, sorted by keys
(class template) [edit]

[edit] Unordered associative containers (since C++11)

Unordered associative containers implement unsorted (hashed) data structures that can be quickly searched (O(1) average, O(n) worst-case complexity).

collection of unique keys, hashed by keys
(class template) [edit]
collection of key-value pairs, hashed by keys, keys are unique
(class template) [edit]
collection of keys, hashed by keys
(class template) [edit]
collection of key-value pairs, hashed by keys
(class template) [edit]

[edit] Container adaptors

Container adaptors provide a different interface for sequential containers.

adapts a container to provide stack (LIFO data structure)
(class template) [edit]
adapts a container to provide queue (FIFO data structure)
(class template) [edit]
adapts a container to provide priority queue
(class template) [edit]
(C++23)
adapts a container to provide a collection of unique keys, sorted by keys
(class template) [edit]
(C++23)
adapts two containers to provide a collection of key-value pairs, sorted by unique keys
(class template) [edit]
adapts a container to provide a collection of keys, sorted by keys
(class template) [edit]
adapts two containers to provide a collection of key-value pairs, sorted by keys
(class template) [edit]

[edit] Views

Views provide flexible facilities for interacting with one- or multi-dimensional views over a non-owning array of elements.

(C++20)
a non-owning view over a contiguous sequence of objects
(class template) [edit]
(C++23)
a multi-dimensional non-owning array view
(class template) [edit]

[edit] Iterator invalidation

Read-only methods never invalidate iterators or references. Methods which modify the contents of a container may invalidate iterators and/or references, as summarized in this table.

Category Container After insertion, are... After erasure, are... Conditionally
iterators valid? references valid? iterators valid? references valid?
Sequence containers array N/A N/A
vector No N/A Insertion changed capacity
Yes Yes Before modified element(s)
(for insertion only if capacity didn't change)
No No At or after modified element(s)
deque No Yes Yes, except erased element(s) Modified first or last element
No No Modified middle only
list Yes Yes, except erased element(s)
forward_list Yes Yes, except erased element(s)
Associative containers set
multiset
map
multimap
Yes Yes, except erased element(s)
Unordered associative containers unordered_set
unordered_multiset
unordered_map
unordered_multimap
No Yes N/A Insertion caused rehash
Yes Yes, except erased element(s) No rehash

Here, insertion refers to any method which adds one or more elements to the container and erasure refers to any method which removes one or more elements from the container.

(since C++11)

Unless otherwise specified (either explicitly or by defining a function in terms of other functions), passing a container as an argument to a library function never invalidate iterators to, or change the values of, objects within that container.

The past-the-end iterator deserves particular mention. In general this iterator is invalidated as though it were a normal iterator to a non-erased element. So std::set::end is never invalidated, std::unordered_set::end is invalidated only on rehash(since C++11), std::vector::end is always invalidated (since it is always after the modified elements), and so on.

There is one exception: an erasure which deletes the last element of a std::deque does invalidate the past-the-end iterator, even though it is not an erased element of the container (or an element at all). Combined with the general rules for std::deque iterators, the net result is that the only modifying operation which does not invalidate std::deque::end is an erasure which deletes the first element, but not the last.

Thread safety

  1. All container functions can be called concurrently by different threads on different containers. More generally, the C++ standard library functions do not read objects accessible by other threads unless those objects are directly or indirectly accessible via the function arguments, including the this pointer.
  2. All const member functions can be called concurrently by different threads on the same container. In addition, the member functions begin(), end(), rbegin(), rend(), front(), back(), data(), find(), lower_bound(), upper_bound(), equal_range(), at(), and, except in associative containers, operator[], behave as const for the purposes of thread safety (that is, they can also be called concurrently by different threads on the same container). More generally, the C++ standard library functions do not modify objects unless those objects are accessible, directly or indirectly, via the function's non-const arguments, including the this pointer.
  3. Different elements in the same container can be modified concurrently by different threads, except for the elements of std::vector<bool> (for example, a vector of std::future objects can be receiving values from multiple threads).
  4. Iterator operations (e.g. incrementing an iterator) read, but do not modify the underlying container, and may be executed concurrently with operations on other iterators on the same container, with the const member functions, or reads from the elements. Container operations that invalidate any iterators modify the container and cannot be executed concurrently with any operations on existing iterators even if those iterators are not invalidated.
  5. Elements of the same container can be modified concurrently with those member functions that are not specified to access these elements. More generally, the C++ standard library functions do not read objects indirectly accessible through their arguments (including other elements of a container) except when required by its specification.
  6. In any case, container operations (as well as algorithms, or any other C++ standard library functions) may be parallelized internally as long as this does not change the user-visible results (e.g. std::transform may be parallelized, but not std::for_each which is specified to visit each element of a sequence in order).
(since C++11)

[edit] Function table

Note: std::basic_string is not treated as a container by the standard but behaves much like one due to its similarity. It is listed as 'Pseudo container' here for convenience.

- functions present in C++03
- functions present since C++11
- functions present since C++17
- functions present since C++20
- functions present since C++23

[edit] Member function table

Pseudo container Sequence containers Associative containers Unordered associative containers Container adaptors
Header <string> <array> <vector> <deque> <forward_list> <list> <set> <map> <unordered_set> <unordered_map> <stack> <queue> <flat_set> <flat_map> Header
Container
basic_string
array
vector
deque
forward_list
list
set
multiset
map
multimap
unordered_set
unordered_multiset
unordered_map
unordered_multimap
stack
queue
priority_queue
flat_set
flat_multiset
flat_map
flat_multimap
Container
(constructor)
basic_string
(implicit)
vector
deque
forward_list
list
set
multiset
map
multimap
unordered_set
unordered_multiset
unordered_map
unordered_multimap
stack
queue
priority_queue
flat_set
flat_multiset
flat_map
flat_multimap
(constructor)
(destructor)
~basic_string
(implicit)
~vector
~deque
~forward_list
~list
~set
~multiset
~map
~multimap
~unordered_set
~unordered_multiset
~unordered_map
~unordered_multimap
~stack
~queue
~priority_queue
~flat_set
~flat_multiset
~flat_map
~flat_multimap
(destructor)
operator=
operator=
(implicit)
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
operator=
assign
assign
assign
assign
assign
assign
assign
assign_range
assign_range
assign_range
assign_range
assign_range
assign_range
assign_range
Iterators
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
begin
cbegin
Iterators
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
end
cend
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rbegin
crbegin
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
rend
crend
Element
access
at
at
at
at
at
at
at
at
at
Element
access
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
data
data
data
data
data
front
front
front
front
front
front
front
front
top
front
back
back
back
back
back
back
top
back
back
Capacity
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
empty
Capacity
size
size
size
size
size
size
size
size
size
size
size
size
size
size
size
size
size
size
size
size
size
size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
max_size
resize
resize
resize
resize
resize
resize
resize
capacity
capacity
capacity
capacity
reserve
reserve
reserve
reserve
reserve
reserve
reserve
reserve
shrink_to_fit
shrink_to_fit
shrink_to_fit
shrink_to_fit
shrink_to_fit
Modifiers
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
clear
Modifiers
insert
insert
insert
insert
insert_after
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert
insert_range
insert_range
insert_range
insert_range
insert_range_after
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_range
insert_or_assign
insert_or_assign
insert_or_assign
insert_or_assign
insert_or_assign
emplace
emplace
emplace
emplace_after
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
emplace_hint
try_emplace
try_emplace
try_emplace
try_emplace
try_emplace
erase
erase
erase
erase
erase_after
erase
erase
erase
erase
erase
erase
erase
erase
erase
erase
erase
erase
erase
erase
push_front
push_front
push_front
push_front
push_front
prepend_range
prepend_range
prepend_range
prepend_range
prepend_range
emplace_front
emplace_front
emplace_front
emplace_front
emplace_front
pop_front
pop_front
pop_front
pop_front
pop
pop
pop_front
push_back
push_back
push_back
push_back
push_back
push
push
push
push_back
append_range
append_range
append_range
append_range
append_range
push_range
push_range
push_range
append_range
emplace_back
emplace_back
emplace_back
emplace_back
emplace
emplace
emplace
emplace_back
pop_back
pop_back
pop_back
pop_back
pop_back
pop
pop_back
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
merge
merge
merge
merge
merge
merge
merge
merge
merge
merge
merge
merge
extract [1]
extract
extract
extract
extract
extract
extract
extract
extract
extract
List operations
splice
splice_after
splice
splice
List operations
remove
remove
remove
remove
remove_if
remove_if
remove_if
remove_if
reverse
reverse
reverse
reverse
unique
unique
unique
unique
sort
sort
sort
sort
Bucket and Hash
begin(size_type)
cbegin(size_type)
begin(size_type)
cbegin(size_type)
begin(size_type)
cbegin(size_type)
begin(size_type)
cbegin(size_type)
begin(size_type)
cbegin(size_type)
begin(size_type)
cbegin(size_type)
Bucket and Hash
end(size_type)
cend(size_type)
end(size_type)
cend(size_type)
end(size_type)
cend(size_type)
end(size_type)
cend(size_type)
end(size_type)
cend(size_type)
end(size_type)
cend(size_type)
bucket_count
bucket_count
bucket_count
bucket_count
bucket_count
bucket_count
max_bucket_count
max_bucket_count
max_bucket_count
max_bucket_count
max_bucket_count
max_bucket_count
bucket_size
bucket_size
bucket_size
bucket_size
bucket_size
bucket_size
bucket
bucket
bucket
bucket
bucket
bucket
load_factor
load_factor
load_factor
load_factor
load_factor
load_factor
max_load_factor
max_load_factor
max_load_factor
max_load_factor
max_load_factor
max_load_factor
rehash
rehash
rehash
rehash
rehash
rehash
Lookup
count
count
count
count
count
count
count
count
count
count
count
count
count
count
Lookup
find
find
find
find
find
find
find
find
find
find
find
find
find
find
find
contains
contains
contains
contains
contains
contains
contains
contains
contains
contains
contains
contains
contains
contains
contains
lower_bound
lower_bound
lower_bound
lower_bound
lower_bound
lower_bound
lower_bound
lower_bound
lower_bound
lower_bound
upper_bound
upper_bound
upper_bound
upper_bound
upper_bound
upper_bound
upper_bound
upper_bound
upper_bound
upper_bound
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
equal_range
Observers
key_comp
key_comp
key_comp
key_comp
key_comp
key_comp
key_comp
key_comp
key_comp
key_comp
Observers
value_comp
value_comp
value_comp
value_comp
value_comp
value_comp
value_comp
value_comp
value_comp
value_comp
hash_function
hash_function
hash_function
hash_function
hash_function
hash_function
key_eq
key_eq
key_eq
key_eq
key_eq
key_eq
Allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
get_allocator
Allocator
Adaptors
extract [2]
extract
extract
extract
extract
extract
Adaptors
replace
replace
replace
replace
replace
replace
Container
basic_string
array
vector
deque
forward_list
list
set
multiset
map
multimap
unordered_set
unordered_multiset
unordered_map
unordered_multimap
stack
queue
priority_queue
flat_set
flat_multiset
flat_map
flat_multimap
Container
Header <string> <array> <vector> <deque> <forward_list> <list> <set> <map> <unordered_set> <unordered_map> <stack> <queue> <flat_set> <flat_map> Header
Pseudo container Sequence containers Associative containers Unordered associative containers Container adaptors
  • Note: functions in two different extract lines have different meanings and syntax:
  1. e.g., node_type extract(const_iterator) or node_type extract(Key&)
  2. e.g., container_type extract() &&

[edit] Non-member function table

Pseudo container Sequence containers Associative containers Unordered associative containers Container adaptors
Header <string> <array> <vector> <deque> <forward_list> <list> <set> <map> <unordered_set> <unordered_map> <stack> <queue> <flat_set> <flat_map> Header
Container
basic_string
array
vector
deque
forward_list
list
set
multiset
map
multimap
unordered_set
unordered_multiset
unordered_map
unordered_multimap
stack
queue
priority_queue
flat_set
flat_multiset
flat_map
flat_multimap
Container
Non-member function
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
operator==
Non-member function
operator!= (removed in C++20)
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!=
operator!= (removed in C++20)
operator< (removed in C++20)
operator<
operator<
operator<
operator<
operator<
operator<
operator<
operator<
operator<
operator<
operator<
operator<
operator< (removed in C++20)
operator<= (removed in C++20)
operator<=
operator<=
operator<=
operator<=
operator<=
operator<=
operator<=
operator<=
operator<=
operator<=
operator<=
operator<=
operator<= (removed in C++20)
operator> (removed in C++20)
operator>
operator>
operator>
operator>
operator>
operator>
operator>
operator>
operator>
operator>
operator>
operator>
operator> (removed in C++20)
operator>= (removed in C++20)
operator>=
operator>=
operator>=
operator>=
operator>=
operator>=
operator>=
operator>=
operator>=
operator>=
operator>=
operator>=
operator>= (removed in C++20)
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
operator<=>
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
swap
erase
erase
erase
erase
erase
erase
erase
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
erase_if
Container
basic_string
array
vector
deque
forward_list
list
set
multiset
map
multimap
unordered_set
unordered_multiset
unordered_map
unordered_multimap
stack
queue
priority_queue
flat_set
flat_multiset
flat_map
flat_multimap
Container
Header <string> <array> <vector> <deque> <forward_list> <list> <set> <map> <unordered_set> <unordered_map> <stack> <queue> <flat_set> <flat_map> Header
Pseudo container Sequence containers Associative containers Unordered associative containers Container adaptors

The <, <=, >, >=, and != operators are synthesized from operator<=> and operator== respectively.

(since C++20)

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 51 C++98 container iterators might be invalidated
by arbitrary library operation
they are only invalidated
when specified

[edit] See also

C++ named requirements:

numeric arrays, array masks and array slices
(class template) [edit]
stores and manipulates sequences of characters
(class template) [edit]
read-only string view
(class template) [edit]