std:: atomic_fetch_xor, std:: atomic_fetch_xor_explicit
|
헤더에 정의됨
<atomic>
|
||
|
template
<
class
T
>
T atomic_fetch_xor
(
std::
atomic
<
T
>
*
obj,
|
(1) | (C++11부터) |
|
template
<
class
T
>
T atomic_fetch_xor
(
volatile
std::
atomic
<
T
>
*
obj,
|
(2) | (C++11부터) |
|
template
<
class
T
>
T atomic_fetch_xor_explicit
(
std::
atomic
<
T
>
*
obj,
|
(3) | (C++11부터) |
|
template
<
class
T
>
T atomic_fetch_xor_explicit
(
volatile
std::
atomic
<
T
>
*
obj,
|
(4) | (C++11부터) |
obj 가 가리키는 값을 원자적으로 obj 의 이전 값과 arg 의 비트별 XOR 연산 결과로 대체합니다. 이전에 보유하고 있던 obj 값을 반환합니다.
이 작업은 다음과 같이 실행되는 것처럼 수행됩니다:
만약
std::atomic<T>
에
fetch_xor
멤버가 없는 경우(이 멤버는
integral types
중
bool
을 제외한 타입에만 제공됨), 프로그램은 ill-formed입니다.
목차 |
매개변수
| obj | - | 수정할 원자적 객체에 대한 포인터 |
| arg | - | 원자적 객체에 저장된 값에 비트별 XOR 연산을 수행할 값 |
| order | - | 메모리 동기화 순서 |
반환값
이 함수의 효과가 적용되기 직전의 modification order 에 있는 * obj 의 값.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| P0558R1 | C++11 |
정확한 타입 일치가 요구되었음
T
가 여러 인수에서 추론되었기 때문
|
T
는 오직
obj 에서만 추론됨 |
참고 항목
|
인수와 원자 객체의 값 사이에 비트별 XOR을 원자적으로 수행하고 이전에 보유한 값을 얻습니다
(
std::atomic<T>
의
public member function)
|
|
|
(C++11)
(C++11)
|
원자 객체를 비원자 인수와의 비트별 OR 결과로 대체하고 원자 객체의 이전 값을 얻습니다
(function template) |
|
(C++11)
(C++11)
|
원자 객체를 비원자 인수와의 비트별 AND 결과로 대체하고 원자 객체의 이전 값을 얻습니다
(function template) |
|
C documentation
for
atomic_fetch_xor
,
atomic_fetch_xor_explicit
|
|