hash_map::swap (STL/CLR)
Меняет местами содержимое двух контейнеров.
void swap(hash_map<Key, Mapped>% right);
Параметры
- правый
Контейнер для обмена содержимым.
Заметки
Меняет местами функции-члена из последовательности между this и right. Это происходит при расчете времени и не создает исключений. Он используется как быстрый способ обмена содержимое 2 контейнеров.
Пример
// 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);
}
Требования
Заголовок:<cliext/hash_map>
Пространство имен: cliext