Namespaces
Variants

std:: future_errc

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)
(C++11)
future_errc
(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
std::future_errc
헤더에 정의됨 <future>
enum class future_errc {

broken_promise = /* implementation-defined */ ,
future_already_retrieved = /* implementation-defined */ ,
promise_already_satisfied = /* implementation-defined */ ,
no_state = /* implementation-defined */

} ;
(C++11 이후)

스코프 열거형 std::future_errc std::future 및 관련 클래스들이 std::future_error 예외 객체에서 보고하는 오류 코드들을 정의합니다. 구현체가 추가 오류 코드를 정의할 수 있지만, 오직 네 가지 오류 코드만이 필수입니다. std::is_error_code_enum 의 적절한 특수화가 제공되기 때문에, std::future_errc 타입의 값들은 암시적으로 std::error_code 로 변환 가능합니다.

모든 오류 코드는 고유하며 0이 아닙니다.

목차

멤버 상수

열거자 의미
broken_promise 비동기 작업이 공유 상태를 포기함
future_already_retrieved 공유 상태의 내용이 이미 std::future 를 통해 접근됨
promise_already_satisfied 공유 상태에 값을 두 번 저장하려는 시도
no_state 연관된 공유 상태 없이 std::promise 또는 std::future 에 접근하려는 시도

비멤버 함수

future 에러 코드를 생성합니다
(함수)
future error_condition 을 생성합니다
(함수)

헬퍼 클래스

std::is_error_code_enum 타입 특성을 확장하여 future 에러 코드를 식별합니다
(클래스 템플릿)

예제

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 2056 C++11 broken_promise 가 "오류 없음"을 의미하는 관례적인 값인 0으로 지정됨 0이 아닌 값으로 지정

참고 항목

(C++11)
플랫폼 종속 에러 코드를 보유
(클래스)
이식 가능한 에러 코드를 보유
(클래스)