<map>
– funkce
swap (mapa)
Zamění prvky dvou objektů map.
template <class key, class T, class _Pr, class _Alloc>
void swap(
map<Key, Traits, Compare, Alloctor>& left,
map<Key, Traits, Compare, Alloctor>& right);
Parametry
Vpravo
Mapa poskytující prvky, které mají být prohozeny, nebo mapu, jejíž prvky se mají vyměňovat s prvky mapy vlevo.
Vlevo
Mapa, jejíž prvky se mají vyměňovat s prvky mapy vpravo.
Poznámky
Funkce šablony je algoritmus specializovaný na mapě třídy kontejneru pro spuštění členské funkce left
.swap( right
). Jedná se o instanci částečného řazení šablon funkcí kompilátorem. Pokud jsou funkce šablony přetíženy takovým způsobem, že shoda šablony s voláním funkce není jedinečná, kompilátor vybere nejspecializovaných verzí funkce šablony. Obecná verze funkce šablony, template
<třída T>void swap( T&;T&; T&&), ve třídě algoritmu funguje podle přiřazení a je pomalá operace. Specializovaná verze v každém kontejneru je mnohem rychlejší, protože dokáže pracovat s interní reprezentací třídy kontejneru.
Příklad
Podívejte se na příklad kódu pro mapování členské funkce ::swap příklad, který používá verzi swap
šablony .
swap (multimap)
Vymění prvky dvou vícemap.
template <class key, class T, class _Pr, class _Alloc>
void swap(
multimap<Key, Traits, Compare, Alloctor>& left,
multimap<Key, Traits, Compare, Alloctor>& right);
Parametry
Vpravo
Multimapa poskytující prvky, které mají být prohozeny, nebo vícemap, jejichž prvky se mají vyměňovat s prvky multimap vlevo.
Vlevo
Multimap, jejíž prvky se mají vyměňovat s prvky zprava multimap.
Poznámky
Funkce šablony je algoritmus specializovaný na mapování třídy kontejneru ke spuštění na vícemap třídy kontejneru ke spuštění členské funkce left
.swap (right
). Jedná se o instanci částečného řazení šablon funkcí kompilátorem. Pokud jsou funkce šablony přetíženy takovým způsobem, že shoda šablony s voláním funkce není jedinečná, kompilátor vybere nejspecializovaných verzí funkce šablony. Obecná verze funkce šablony, template
<třída T>void swap( T&;T&; T&&), ve třídě algoritmu funguje podle přiřazení a je pomalá operace. Specializovaná verze v každém kontejneru je mnohem rychlejší, protože dokáže pracovat s interní reprezentací třídy kontejneru.
Příklad
Podívejte se na příklad kódu pro multimap členské funkce ::swap příklad, který používá verzi swap
šablony .