Namespaces
Variants

std:: atomic_fetch_min, std:: atomic_fetch_min_explicit

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
atomic_fetch_min atomic_fetch_min_explicit
(C++26) (C++26)
Free functions for atomic flags
헤더에 정의됨 <atomic>
template < class T >

T atomic_fetch_min ( std:: atomic < T > * obj,

typename std:: atomic < T > :: value_type arg ) noexcept ;
(1) (C++26부터)
template < class T >

T atomic_fetch_min ( volatile std:: atomic < T > * obj,

typename std:: atomic < T > :: value_type arg ) noexcept ;
(2) (C++26부터)
template < class T >

T atomic_fetch_min_explicit ( std:: atomic < T > * obj,
typename std:: atomic < T > :: value_type arg,

std:: memory_order order ) noexcept ;
(3) (C++26부터)
template < class T >

T atomic_fetch_min_explicit ( volatile std:: atomic < T > * obj,
typename std:: atomic < T > :: value_type arg,

std:: memory_order order ) noexcept ;
(4) (C++26부터)

obj 가 가리키는 값을 원자적으로 obj 의 이전 값과 arg 사이의 std::min 결과로 대체합니다. obj 가 이전에 보유하던 값을 반환합니다. 이 연산은 다음과 같이 실행된 것처럼 수행됩니다:

1,2) obj - > fetch_min ( arg )
3,4) obj - > fetch_min ( arg, order )

만약 std::atomic<T> fetch_min 멤버가 없는 경우(이 멤버는 integral pointer 타입에 대해서만 제공되며, bool 은 제외됨), 프로그램은 ill-formed입니다.

목차

매개변수

obj - 수정할 원자 객체에 대한 포인터
arg - 원자 객체에 저장된 값과 std::min 할 값
order - 메모리 동기화 순서

반환값

이 함수의 효과가 적용되기 직전의 modification order 에 있는 * obj 값.

참고 사항

기능 테스트 매크로 표준 기능
__cpp_lib_atomic_min_max 202403L (C++26) Atomic minimum/maximum

예제

참고 항목

(C++26)
인자와 원자 객체의 값 사이에서 std::min 을 원자적으로 수행하고 이전에 보유한 값을 획득함
( std::atomic<T> 의 public 멤버 함수)
원자 객체를 비원자 인자와의 std::max 결과로 대체하고 원자 객체의 이전 값을 획득함
(함수 템플릿)