thread_future_errc
thread_future_errc (future 오류 코드 열거형)
std::future_errc는 std::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) | 이식 가능한 오류 코드를 보유해요 (클래스) |