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


<map>Функции

swap (карта)

Обмен элементами между двумя сопоставлениями.

template <class key, class T, class _Pr, class _Alloc>
void swap(
    map<Key, Traits, Compare, Allocator>& left,
    map<Key, Traits, Compare, Allocator>& right);

Параметры

правой
Карта, предоставляющая элементы для переключения, или карта, элементы которой необходимо обменять с элементами карты слева.

слева
Карта, элементы которой должны обмениваться с элементами карты справа.

Замечания

Функция шаблона — это алгоритм, специализированный на карте класса контейнера для выполнения функции-члена 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, Allocator>& left,
    multimap<Key, Traits, Compare, Allocator>& right);

Параметры

правой
Мультикарта, предоставляющая элементы для переключения, или мультикарта, элементы которой должны быть обменированы с элементами многомейного рисунка слева.

слева
Мультимамулятор, элементы которого необходимо обмениваться с элементами правой на многозначную карту.

Замечания

Функция шаблона — это алгоритм, специализированный на карте класса контейнера для выполнения в мультикарте класса контейнера для выполнения функции-члена left.переключение (right). Это экземпляр частичного упорядочивания шаблонов функций компилятором. Когда функции-шаблоны перегружаются таким образом, что соответствие шаблона и вызова функции не является уникальным, компилятор выберет наиболее специализированную версию функции-шаблона. Общая версия функции шаблона, template<класс T>void swap(T&, T&), в классе алгоритма работает по назначению и является медленной операцией. Специализированная версия в каждом контейнере работает гораздо быстрее, так как она может работать с внутренним представлением класса контейнера.

Пример

См. пример кода для функции-члена multimap::swap, в котором используется версия шаблона swap.