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


Функция swap

Обменивает элементы двух объектов concurrent_vector.

template<
   typename _Ty,
   class _Ax
>
inline void swap(
   concurrent_vector<_Ty,
   _Ax> &_A,
   concurrent_vector<_Ty,
   _Ax> &_B
);

Параметры

  • _Ty
    Тип данных элементов, хранящихся в параллельных векторах.

  • _Ax
    Тип распределителя параллельных векторов.

  • _A
    Параллельный вектор, элементы которого подлежат обмену с элементами параллельного вектора _B.

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

Заметки

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

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

Требования

Заголовок: concurrent_vector.h

Пространство имен: Concurrency

См. также

Ссылки

Пространство имен Concurrency

Основные понятия

Параллельные контейнеры и объекты

Другие ресурсы

Класс concurrent_vector