<map>
Функции
swap (map)
Обмен элементами между двумя сопоставлениями.
template <class key, class T, class _Pr, class _Alloc>
void swap(
map<Key, Traits, Compare, Alloctor>& left,
map<Key, Traits, Compare, Alloctor>& right);
Параметры
right
Карта, предоставляющая элементы для переключения, или карта, элементы которой необходимо обменять с элементами карты слева.
left
Карта, элементы которой должны обмениваться с элементами карты справа.
Замечания
Функция шаблона — это алгоритм, специализированный на карте класса контейнера для выполнения функции-члена left
.swap( right
). Это экземпляр частичного упорядочивания шаблонов функций компилятором. Когда функции-шаблоны перегружаются таким образом, что соответствие шаблона и вызова функции не является уникальным, компилятор выберет наиболее специализированную версию функции-шаблона. Общая версия функции шаблона, template
<класс T>void swap(T&, T&), в классе алгоритма работает по назначению и является медленной операцией. Специализированная версия в каждом контейнере работает гораздо быстрее, так как она может работать с внутренним представлением класса контейнера.
Пример
См. пример кода для функции-члена map::swap, в котором используется версия шаблона swap
.
swap (multimap)
Обмен элементами между двумя multimap.
template <class key, class T, class _Pr, class _Alloc>
void swap(
multimap<Key, Traits, Compare, Alloctor>& left,
multimap<Key, Traits, Compare, Alloctor>& right);
Параметры
right
Мультикарта, предоставляющая элементы для переключения, или мультикарта, элементы которой должны быть обменированы с элементами многомейного рисунка слева.
left
Мультимамулятор, элементы которого необходимо обмениваться с элементами правой на многозначную карту.
Замечания
Функция шаблона — это алгоритм, специализированный на карте класса контейнера для выполнения в мультикарте класса контейнера для выполнения функции-члена left
.переключение (right
). Это экземпляр частичного упорядочивания шаблонов функций компилятором. Когда функции-шаблоны перегружаются таким образом, что соответствие шаблона и вызова функции не является уникальным, компилятор выберет наиболее специализированную версию функции-шаблона. Общая версия функции шаблона, template
<класс T>void swap(T&, T&), в классе алгоритма работает по назначению и является медленной операцией. Специализированная версия в каждом контейнере работает гораздо быстрее, так как она может работать с внутренним представлением класса контейнера.
Пример
См. пример кода для функции-члена multimap::swap, в котором используется версия шаблона swap
.