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의 요소와 교환할 벡터입니다

설명

템플릿 함수는 멤버 함수 _A.concurrent_vector::swap(_B)을 실행하기 위해 컨테이너 클래스 concurrent_vector에 특수화된 알고리즘입니다. 이는 컴파일러에서 함수 템플릿의 부분 정렬 인스턴스입니다. 템플릿 함수가 함수 호출이 있는 템플릿 일치가 고유하지 않게 초과 로드되면 컴파일러는 템플릿 함수의 가장 특수화된 버전을 선택합니다. 알고리즘 클래스에서 템플릿 함수**template <class T> void swap(T&, T&)**의 일반 버전은 할당으로 작동하며 작업이 느립니다. 각 컨테이너에 있는 특수화된 버전은 컨테이너 클래스의 내부 표현을 사용하여 작업할 수 있는 것만큼 훨씬 빠릅니다.

이 메서드는 동시성이 보장되지 않습니다. 이 메서드를 호출할 때 동시 벡터 중 하나에서 다른 스레드가 작업을 수행하고 있지 않도록 해야 합니다.

요구 사항

헤더: concurrent_vector.h

네임스페이스: 동시성

참고 항목

참조

동시성 네임스페이스

개념

병렬 컨테이너 및 개체

기타 리소스

concurrent_vector 클래스