atomic 구조체
이 Ty 형식의 저장 된 값의 최소 작업을 수행 하는 개체에 설명합니다.
template <class Ty>
struct atomic;
멤버
Public 생성자
Name |
설명 |
---|---|
원자 개체를 생성 합니다. |
Public 연산자
Name |
설명 |
---|---|
읽고 저장된 값을 반환 합니다. (atomic::load 메서드) |
|
지정된 값 저장된 값을 사용 합니다. (atomic::store 메서드) |
|
저장된 값을 증가 시킵니다. 포인터와 정수 계열 특수화만 사용합니다. |
|
저장된 값에 지정된 값을 추가합니다. 포인터와 정수 계열 특수화만 사용합니다. |
|
저장된 값을 감소 시킵니다. 포인터와 정수 계열 특수화만 사용합니다. |
|
저장하는 값으로 부터 지정된 값을 뺍니다. 포인터와 정수 계열 특수화만 사용합니다. |
|
연산을 수행 and 에 지정 된 값과 저장된 된 값입니다. 완전한 특수화로만 사용됩니다. |
|
연산을 수행 or 에 지정 된 값과 저장된 된 값입니다. 완전한 특수화로만 사용됩니다. |
|
연산을 수행 exclusive or 에 지정 된 값과 저장된 된 값입니다. 완전한 특수화로만 사용됩니다. |
Public 메서드
Name |
설명 |
---|---|
수행는 atomic_compare_and_exchange 에서 작업 this 이고 결과 반환 합니다. |
|
수행는 weak_atomic_compare_and_exchange 에서 작업 this 이고 결과를 반환 합니다. |
|
저장된 값에 지정된 값을 추가합니다. |
|
연산을 수행 and 에 지정 된 값과 저장된 된 값입니다. |
|
연산을 수행 or 에 지정 된 값과 저장된 된 값입니다. |
|
저장하는 값으로 부터 지정된 값을 뺍니다. |
|
연산을 수행 exclusive or 에 지정 된 값과 저장된 된 값입니다. |
|
이 this 은 잠금 가능의 원자 연산인지 지정합니다. 원자 형식이 잠금 가능 원자 단위 작업이 해당 형식에는 잠금을 사용하는 경우입니다. |
|
읽고 저장된 값을 반환 합니다. |
|
지정된 값 저장된 값을 사용 합니다. |
설명
유형 Ty 은 사소 하 게 복사할 수 있어야만 합니다. 즉, memcpy 의 바이트를 복사 생성해야 올바른 Ty 개체가 원래 개체와 동일한 지 비교하여 사용합니다. 이 compare_exchange_weak 와 compare_exchange_strong 맴버 함수는 Ty 값이 같은 지 확인하려는 memcmp 를 사용합니다. 이러한 함수는 operator== 로 정의된 Ty 사용합니다. 이 atomic 의 맴버 함수는 Ty 형식의 값을 복사하는 memcpy 을 사용합니다.
부분 특수화에서, atomic<Ty *>, 모든 포인터 형식에 대해 존재 합니다. 전문화된 관리되는 포인터 값을 오프셋 더하기 또는 빼기를 오프셋 수 있습니다. 형식 인수를 사용하는 산술 연산을 ptrdiff_t 의 크기에 따라 해당 인수를 조정하고 Ty 일반 주소 산술 연산을 사용하여 일관성을 유지합니다.
이 bool 특수화를 제외한 모든 정수 계열 형식에 있습니다. 각 특수화 풍부한 원자 산술 및 논리 연산에 사용할 수 있는 메서드를 제공합니다.
atomic<char> |
atomic<signed char> |
atomic<unsigned char> |
atomic<char16_t> |
atomic<char32_t> |
atomic<wchar_t> |
atomic<short> |
atomic<unsigned short> |
atomic<int> |
atomic<unsigned int> |
atomic<long> |
atomic<unsigned long> |
atomic<long long> |
atomic<unsigned long long> |
정수 특수화는 해당하는 **atomic_**integral 형식으로 부터 파생됩니다. 예를 들어, atomic<unsigned int> 는 atomic_uint에서 파생됩니다.
요구 사항
헤더: atomic
네임스페이스: std