다음을 통해 공유


hash_map::swap (STL/CLR)

Swaps the contents of two containers.

    void swap(hash_map<Key, Mapped>% right);

Parameters

  • right
    Container to swap contents with.

Remarks

The member function swaps the controlled sequences between this and right. It does so in constant time and it throws no exceptions. You use it as a quick way to exchange the contents of two containers.

Example

// cliext_hash_map_swap.cpp 
// compile with: /clr 
#include <cliext/hash_map> 
 
typedef cliext::hash_map<wchar_t, int> Myhash_map; 
int main() 
    { 
    Myhash_map c1; 
    c1.insert(Myhash_map::make_value(L'a', 1)); 
    c1.insert(Myhash_map::make_value(L'b', 2)); 
    c1.insert(Myhash_map::make_value(L'c', 3)); 
 
// display contents " [a 1] [b 2] [c 3]" 
    for each (Myhash_map::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// construct another container with repetition of values 
    Myhash_map c2; 
    c2.insert(Myhash_map::make_value(L'd', 4)); 
    c2.insert(Myhash_map::make_value(L'e', 5)); 
    c2.insert(Myhash_map::make_value(L'f', 6)); 
    for each (Myhash_map::value_type elem in c2) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// swap and redisplay 
    c1.swap(c2); 
    for each (Myhash_map::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
    for each (Myhash_map::value_type elem in c2) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
 [a 1] [b 2] [c 3]
 [d 4] [e 5] [f 6]
 [d 4] [e 5] [f 6]
 [a 1] [b 2] [c 3]

Requirements

Header: <cliext/hash_map>

Namespace: cliext

See Also

Concepts

hash_map (STL/CLR)

hash_map::operator= (STL/CLR)