Przestrzenie nazw
Warianty
Działania

std::map

Z cppreference.com
< cpp‎ | container
Zdefiniowane w nagłówku <map>
template<

    class Key,
    class T,
    class Compare = std::less<Key>,
    class Allocator = std::allocator<std::pair<const Key, T> >

> class map;
(1)

std::map (mapa, inaczej słownik) jest kontenerem asocjacyjnym, pozwalającym na przechowywanie posortowanej listy unikalnych par postaci klucz-wartość. Elementy są sortowane na podstawie funkcji porównującej Compare, aplikowanej do kluczy. Operacje znajdowania, wstawiania i usuwania elementów mają złożoność logarytmiczną. Słowniki są zazwyczaj implementowane jako drzewa czerwono-czarne.

Wszędzie, gdzie w bibliotece standardowej wykorzystywany jest koncept Compare, unikalność jest sprawdzana korzystając z relacji równoważności. Dwa obiekty a i b są uważane za równoważne, jeśli żaden z nich nie jest mniejszy od drugiego: !comp(a, b) && !comp(b, a).

std::map spełnia wymogi Container, AllocatorAwareContainer, AssociativeContainer i ReversibleContainer.

Spis treści

[edytuj] Typy składowe

Typ składowy Definicja
key_type Key [edit]
mapped_type T [edit]
value_type std::pair<const Key, T> [edit]
size_type Typ całkowitoliczbowy bez znaku (zwykle std::size_t) [edit]
difference_type Typ całkowitoliczbowy ze znakiem (zwykle std::ptrdiff_t) [edit]
key_compare Compare [edit]
allocator_type Allocator [edit]
reference
Allocator::reference (do C++11)
value_type& (od C++11)
[edit]
const_reference
Allocator::const_reference (do C++11)
const value_type& (od C++11)
[edit]
pointer
Allocator::pointer (do C++11)
std::allocator_traits<Allocator>::pointer (od C++11)
[edit]
const_pointer
Allocator::const_pointer (do C++11)
std::allocator_traits<Allocator>::const_pointer (od C++11)
[edit]
iterator LegacyBidirectionalIterator [edit]
const_iterator Constant BidirectionalIterator [edit]
reverse_iterator std::reverse_iterator<iterator> [edit]
const_reverse_iterator std::reverse_iterator<const_iterator> [edit]

[edytuj] Klasy składowe

porównuje obiekty typu value_type
(klasa) [edit]

[edytuj] Metody

Konstruuje map
(publiczna metoda) [edit]
Niszczy map
(publiczna metoda) [edit]
przypisuje wartości do kontenera
(publiczna metoda) [edit]
zwraca skojarzony alokator
(publiczna metoda) [edit]
Dostęp do elementów
(C++11)
dostęp do wskazanego elementu, ze sprawdzeniem zakresów
(publiczna metoda) [edit]
dostęp do wskazanego elementu
(publiczna metoda) [edit]
Iteratory
zwraca iterator na początek kontenera
(publiczna metoda) [edit]
zwraca iterator za koniec kontenera
(publiczna metoda) [edit]
zwraca odwrócony iterator na początek
(publiczna metoda) [edit]
zwraca odwrócony iterator za koniec kontenera
(publiczna metoda) [edit]
Pojemność
sprawdza, czy kontener jest pusty
(publiczna metoda) [edit]
zwraca liczbę elementów
(publiczna metoda) [edit]
zwraca maksymalną możliwą liczbę elementów
(publiczna metoda) [edit]
Modyfikatory
czyści zawartość
(publiczna metoda) [edit]
wstawia elementy
(publiczna metoda) [edit]
(C++11)
konstruuje element "w miejscu"
(publiczna metoda) [edit]
tworzy elementy "w miejscu", korzystając z podpowiedzi
(publiczna metoda) [edit]
usuwa elementy
(publiczna metoda) [edit]
zamienia zawartość
(publiczna metoda) [edit]
Przeszukiwanie
zwraca liczbę elementów o podanym kluczu
(publiczna metoda) [edit]
znajduje element ze wskazanym kluczem
(publiczna metoda) [edit]
zwraca przedział elementów o podanym kluczu
(publiczna metoda) [edit]
zwraca iterator na pierwszy element nie mniejszy niż dany klucz
(publiczna metoda) [edit]
zwraca iterator na pierwszy element większy niż dany klucz
(publiczna metoda) [edit]
Obserwatory
zwraca funkcję porównującą klucze
(publiczna metoda) [edit]
zwraca funkcję porównującą klucze obiektów typu value_type
(publiczna metoda) [edit]

[edytuj] Funkcje operujące na zawartości

leksykograficznie porównuje wartości w map
(szablon funkcji) [edit]
specjalizacja dla algorytmu std::swap
(szablon funkcji) [edit]