Поделиться через


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