<hash_set> funktioner

Rubriken <hash_set> innehåller följande funktioner:

byta

Anmärkning

Det här API:et är föråldrat. Alternativet är <unordered_set>. Den här rubriken togs bort i MSVC Build Tools 14.51.

Utbyter elementen i två hash_sets.

void swap(
    hash_set <Key, Traits, Allocator>& left,
    hash_set <Key, Traits, Allocator>& right);

Parameterar

rätt
Den hash_set som tillhandahåller de element som ska bytas ut, eller hash_set vars element ska bytas ut med elementen i hash_set vänster.

vänster
De hash_set vars element ska bytas ut mot hash_set rättighet.

Anmärkningar

Mallfunktionen är en algoritm som är specialiserad på containerklassen hash_set för att köra swapleft.().right Det här är en instans av kompilatorns partiella ordning av funktionsmallar. När mallfunktioner överbelastas på ett sådant sätt att matchningen av mallen med funktionsanropet inte är unik väljer kompilatorn den mest specialiserade versionen av mallfunktionen. Den allmänna versionen av mallfunktionen

mallklassen <T> void swap(T&, T&),

i algoritmklassen fungerar efter tilldelning och är en långsam åtgärd. Den specialiserade versionen i varje container går mycket snabbare eftersom den kan fungera med den interna representationen av containerklassen.

Exempel

Se kodexemplet för medlemsklassen hash_set::swap för ett exempel som använder mallversionen av swap.

swap (hash_multiset)

Anmärkning

Det här API:et är föråldrat. Alternativet är unordered_set-klass.

Utbyter elementen i två hash_multisets.

void swap(hash_multiset <Key, Traits, Allocator>& left, hash_multiset <Key, Traits, Allocator>& right);

Parameterar

right
Den hash_multiset som tillhandahåller elementen som ska växlas, eller hash_multiset vars element ska utbytas med elementen i hash_multiset left.

left
Den hash_multiset vars element ska utbytas med elementen i hash_multiset right.

Anmärkningar

Mallfunktionen är en algoritm som är specialiserad på containerklassen hash_multiset för att köra swapleft.().right Den här funktionen visar hur kompilatorn använder partiell ordningsföljd av funktionsmallar. När mallfunktionerna är överbelastade så att matchningen av mallen med funktionsanropet inte är unik, väljer kompilatorn den mest specialiserade versionen av mallfunktionen. Den allmänna versionen av mallfunktionen template <class T> void swap(T&, T&) i algoritmklassen fungerar efter tilldelning och är en långsam åtgärd. Den specialiserade versionen i varje container går mycket snabbare eftersom den fungerar med den interna representationen av containerklassen.

Exempel

Ett exempel som använder mallversionen av swapfinns i kodexemplet för medlemsklassen hash_multiset::swap.

Se även

<hash_set>