Namespaces
Variants

std::atomic_ref<T>:: fetch_min

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
Free functions for atomic flags
T cv bool 이 아닌 정수 타입이거나 객체 포인터 타입인 경우에만 제공됨
value_type fetch_min ( value_type arg,

std:: memory_order order =

std:: memory_order_seq_cst ) const noexcept ;
(C++26부터)

참조된 객체의 현재 값을 해당 값과 std::min 의 결과로 원자적으로 교체합니다. 즉, 원자적 최소 연산을 수행합니다. 이 연산은 읽기-수정-쓰기 연산입니다. 메모리는 order 값에 따라 영향을 받습니다.

만약 T 가 포인터 타입이고 포인터들이 서로 다른 완전한 객체(또는 그 하위 객체)를 가리키는 경우, 포인터 비교 엄격한 약순서 를 구성하지 않습니다.

이 오버로드는 std:: is_const_v < T > false 인 경우에만 오버로드 해결에 참여합니다.

목차

매개변수

arg - std::min 의 다른 인자
order - 적용할 메모리 순서 제약 조건

반환값

이 함수의 효과가 적용되기 직전의 값으로, modification order 에서 * this 의 값입니다.

참고 사항

Feature-test 매크로 표준 기능
__cpp_lib_atomic_min_max 202403L (C++26) Atomic minimum/maximum

예제