Функция 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
См. также
Ссылки
Основные понятия
Параллельные контейнеры и объекты