std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::resume
cppreference.net에서
| 다른 특수화의 멤버 |
||
void operator()() const;
void resume() const;
|
(1) | (C++20 이후) |
| 특수화의 멤버 std::coroutine_handle<std::noop_coroutine_promise> |
||
constexpr void operator()() const noexcept;
constexpr void resume() const noexcept;
|
(2) | (C++20 이후) |
1)
*this 이 가리키는 코루틴의 실행을 재개합니다. 또는, 코루틴이 no-op 코루틴인 경우 아무 작업도 수행하지 않습니다.2) 아무 작업도 수행하지 않습니다.
동작은 *this 이 중단된 코루틴을 가리키지 않거나, 코루틴이 no-op 코루틴이 아니면서 최종 중단 지점에서 중단된 경우 정의되지 않습니다. 코루틴의 동시 재개는 데이터 경쟁을 초래할 수 있습니다.
코루틴이 중단된 실행 에이전트와 다른 실행 에이전트에서 재개하는 경우, 각 실행 에이전트가 std::thread 또는 std::jthread, 또는 main을(를) 실행하는 스레드가 아닌 한 구현 정의 동작이 발생합니다.
매개변수
(없음)
반환값
(없음)
예외
코루틴 실행 중 예외가 발생하면, 해당 예외는 포착되어 코루틴의 promise 객체에서
unhandled_exception
이 호출됩니다.
unhandled_exception
호출 시 예외를 throw하거나 rethrow하는 경우, 해당 예외가 전파됩니다.
참고 사항
다른 실행 에이전트에서 재개되는 코루틴은 일시 중단 지점을 가로질러 뮤텍스 객체를 보유하는 것과 같이 일관된 스레드 식별성에 의존하는 것을 피해야 합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
코루틴을 파괴합니다
(public member function) |