std::map (3) - Linux Manuals
std::map: std::map
NAME
Synopsis
Defined in header <map>
template<
class Key,
class T, (1)
class Compare = std::less<Key>,
class Allocator = std::allocator<std::pair<const Key, T> >
> class map;
namespace pmr {
template <class Key, class T, class Compare = std::less<Key>>
using map = std::map<Key, T, Compare, (2) (since C++17)
std::pmr::polymorphic_allocator<std::pair<const Key,T>>>
}
std::map is a sorted associative container that contains key-value pairs with unique keys. Keys are sorted by using the comparison function Compare. Search, removal, and insertion operations have logarithmic complexity. Maps are usually implemented as red-black_trees.
Everywhere the standard library uses the Compare requirements, uniqueness is determined by using the equivalence relation. In imprecise terms, two objects a and b are considered equivalent (not unique) if neither compares less than the other: !comp(a, b) && !comp(b, a).
std::map meets the requirements of Container, AllocatorAwareContainer, AssociativeContainer and ReversibleContainer.
Member types
Member type Definition
key_type Key
mapped_type T
value_type std::pair<const Key, T>
size_type Unsigned integer type (usually std::size_t)
difference_type Signed integer type (usually std::ptrdiff_t)
key_compare Compare
allocator_type Allocator
reference Allocator::reference (until C++11)
const_reference Allocator::const_reference (until C++11)
pointer Allocator::pointer (until C++11)
const_pointer Allocator::const_pointer (until C++11)
iterator LegacyBidirectionalIterator
const_iterator Constant LegacyBidirectionalIterator
reverse_iterator std::reverse_iterator<iterator>
const_reverse_iterator std::reverse_iterator<const_iterator>
node_type(since C++17) a specialization of node_handle representing a container node
insert_return_type(since C++17) bool inserted;