std::map
| Zdefiniowane w nagłówku <map>
|
||
| template< class Key, |
(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 | ||||
| mapped_type | T | ||||
| value_type | std::pair<const Key, T> | ||||
| size_type | Typ całkowitoliczbowy bez znaku (zwykle std::size_t) | ||||
| difference_type | Typ całkowitoliczbowy ze znakiem (zwykle std::ptrdiff_t) | ||||
| key_compare | Compare | ||||
| allocator_type | Allocator | ||||
| reference |
| ||||
| const_reference |
| ||||
| pointer |
| ||||
| const_pointer |
| ||||
| iterator | LegacyBidirectionalIterator | ||||
| const_iterator | Constant BidirectionalIterator | ||||
reverse_iterator
|
std::reverse_iterator<iterator> | ||||
const_reverse_iterator
|
std::reverse_iterator<const_iterator> |
[edytuj] Klasy składowe
| porównuje obiekty typu value_type (klasa) |
[edytuj] Metody
| Konstruuje map (publiczna metoda) | |
| Niszczy map (publiczna metoda) | |
| przypisuje wartości do kontenera (publiczna metoda) | |
| zwraca skojarzony alokator (publiczna metoda) | |
Dostęp do elementów | |
| (C++11) |
dostęp do wskazanego elementu, ze sprawdzeniem zakresów (publiczna metoda) |
| dostęp do wskazanego elementu (publiczna metoda) | |
Iteratory | |
| zwraca iterator na początek kontenera (publiczna metoda) | |
| zwraca iterator za koniec kontenera (publiczna metoda) | |
| zwraca odwrócony iterator na początek (publiczna metoda) | |
| zwraca odwrócony iterator za koniec kontenera (publiczna metoda) | |
Pojemność | |
| sprawdza, czy kontener jest pusty (publiczna metoda) | |
| zwraca liczbę elementów (publiczna metoda) | |
| zwraca maksymalną możliwą liczbę elementów (publiczna metoda) | |
Modyfikatory | |
| czyści zawartość (publiczna metoda) | |
| wstawia elementy (publiczna metoda) | |
| (C++11) |
konstruuje element "w miejscu" (publiczna metoda) |
| (C++11) |
tworzy elementy "w miejscu", korzystając z podpowiedzi (publiczna metoda) |
| usuwa elementy (publiczna metoda) | |
| zamienia zawartość (publiczna metoda) | |
Przeszukiwanie | |
| zwraca liczbę elementów o podanym kluczu (publiczna metoda) | |
| znajduje element ze wskazanym kluczem (publiczna metoda) | |
| zwraca przedział elementów o podanym kluczu (publiczna metoda) | |
| zwraca iterator na pierwszy element nie mniejszy niż dany klucz (publiczna metoda) | |
| zwraca iterator na pierwszy element większy niż dany klucz (publiczna metoda) | |
Obserwatory | |
| zwraca funkcję porównującą klucze (publiczna metoda) | |
| zwraca funkcję porównującą klucze obiektów typu value_type (publiczna metoda) | |
[edytuj] Funkcje operujące na zawartości
| leksykograficznie porównuje wartości w map (szablon funkcji) | |
| specjalizacja dla algorytmu std::swap (szablon funkcji) |

