thread_future_errc

thread_future_errc (future 오류 코드 열거형)

std::future_errcstd::future 및 관련 클래스들이 std::future_error 예외 객체에서 보고하는 오류 코드를 정의하는 스코프 열거형이에요. 표준에서는 네 가지 오류 코드만 요구하지만, 구현에 따라 추가 오류 코드를 정의할 수도 있어요. std::is_error_code_enum의 적절한 특수화가 제공되므로 std::future_errc 타입의 값은 std::error_code로 암시적으로 변환될 수 있어요.

출처: cppreference

본문

std::future_errc<future> 헤더에 정의되어 있어요.

Defined in header
enum class future_errc { broken_promise = /* implementation-defined / , future_already_retrieved = / implementation-defined / , promise_already_satisfied = / implementation-defined / , no_state = / implementation-defined */ }; (since C++11)

C++11부터 사용할 수 있으며, 모든 오류 코드는 서로 구별되고 0이 아니에요. 이는 broken_promise가 0으로 지정되었던 초기 C++11 명세가 LWG 2056 결함 보고서를 통해 수정되었기 때문이에요.

멤버 상수

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

비멤버 함수

함수 설명
make_error_code (std::future_errc) (C++11) future 오류 코드를 생성해요 (함수)
make_error_condition (std::future_errc) (C++11) future error_condition을 생성해요 (함수)

헬퍼 클래스

클래스 설명
is_error_code_enum std::future_errc (C++11) std::is_error_code_enum 타입 특성을 확장하여 future 오류 코드를 식별해요 (클래스 템플릿)

예제

이 섹션은 불완전해요. 이유: 예제 없음

결함 보고서

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

DR 적용 대상 발표된 동작 올바른 동작
LWG 2056 C++11 broken_promise가 0으로 지정되었는데, 이는 관례적으로 "오류 없음"을 의미해요 0이 아닌 값으로 지정되었어요

같이 보기

항목 설명
error_code (C++11) 플랫폼 의존적인 오류 코드를 보유해요 (클래스)
error_condition (C++11) 이식 가능한 오류 코드를 보유해요 (클래스)

더 알아보기 (Learn more)

cppreference