* create
* default constructor, copy constructor, move constructor
* all containers have these constructors
* initializer list constructor
* queue, priority_queue, stack has no initializer list constructor
* fill constructor
* deque, forward_list, and list have fill constructor
* array is an aggregator, has no fill constructor
* map, multimap, set, multiset have no fill constructor
* queue, stack has no fill constructor, but priority_queue has
* range constructor
* deque, forward_list, and list have range constructor
* array is an aggregator, has no range constructor
* map, multimap, set, multiset, queue have range constructor
* queue, priority_queue, stack has no range constructor
* structure comparator and function comparator
* map, multimap, set, multiset can have comparators in constructor
* destroy
* destructor
* all containers destory by destructor
* iterator
* common iterators
* values:
* before_begin: Return iterator to before beginning
* begin: Return iterator to beginning
* end: Return iterator to end
* cbegin: Return const_iterator to beginning
* cend: Return const_iterator to end
* all containers support operator++
* unordered_set, unordered_multiset, unordered_map, unordered_multimap do not support operator--
* forward_list does not support operator--
* forward_list supports before_begin
* reverse iterators
* values
* rbegin: Return reverse iterator to reverse beginning
* rend: Return reverse iterator to reverse end
* crbegin: Return const_reverse_iterator to reverse beginning
* crend: Return const_reverse_iterator to reverse end
* unordered_set, unordered_multiset, unordered_map, unordered_multimap do not have reverse iterators
* forward_list does not have reverse iterators
* queue, priority_queue, stack has no any iterators
* add
* array has fixed size, so cannot add new elements
* add by iterator
* insert()/emplace(): deque, list, vector
* insert_after(): front_list
* add at special position
* add_front(): deque, front_list, list
* add_back(): deque, list
* push_back(): vector
* add directly
* insert(): map, multimap, set, multiset, unordered_map, unordered_multimap, unordered_set, unordered_multiset
* push(): priority_queue, queue, stack
* add by operator[]: map, unordered_map
* change
* element
* change by iterator: any container except queue, priority_queue, stack
* change at special position
* front(): array, deque, forward_list, list
* back(): array, deque
* change by index: at() or operator[]; array, deque, map
* container
* fill(): array
* assign(): deque, forward_list, list
* swap(): any container
* merge(): forward_list, list
* splice
* splice_after(): forward_list
* splice(): list
* unique(), reverse(), sort(): forward_list, list
* capacity: resize(), shrink_to_fit(), reserve(); vector
* queue, priority_queue, stack cannot change content, only support swap();
* query
* query by iterator: queue, priority_queue, stack has no any iterators
* query by index:
* at() or operator[]: array, map, unordered_map
* get<>(): array, deque
* data(): array
* element
* front(): array, deque, forward_list, queue
* back(): array, deque, queue
* top(): priority_queue, stack
* find(): map, multimap, set, multiset, unordered_map, unordered_multimap, unordered_set, unordered_multiset
* count(): map, multimap, set, multiset, unordered_map, unordered_multimap, unordered_set, unordered_multiset
* lower_bound(): map, multimap, set, multiset
* upper_bould(): map, multimap, set, multiset
* equal_range(): map, multimap, set, multiset, unordered_map, unordered_multimap, unordered_set, unordered_multiset
* container
* size(): all containers
* max_size(): all containers except queue, priority_queue, stack
* empty(): array, deque, forward_list, map, multimap, set, multiset, queue, priority_queue
* delete
* element
* pop_front(): deque, forward_list, list
* pop_back(): deque, list, vector
* pop(): priority_queue, queue, stack
* erase(): any container except queue, priority_queue, stack
* erase_after(): forward_list
* remove(), remove_if(): forward_list
* container
* clear(): any container except queue, priority_queue, stack
* array cannot delete because size is fixed