Sdílet prostřednictvím


<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 .