wscoro는 스레드 풀이나 실행기를 포함하지 않고 코루틴을 연결하는 기능에 집중한 C++20 라이브러리다. MSVC, GCC, Clang을 지원하며, 사용자는 직접 실행기를 작성하거나 현재 코루틴의 핸들을 실행기에 넘기는 방식으로 작업을 재개할 수 있다.

라이브러리는 immediate, lazy, task, immediate_task, generator, async_generator, fire_and_forget 등 기능이 다른 작업 유형을 제공한다. 유형에 따라 생성 즉시 시작되는지, co_await로 다른 코루틴을 기다릴 수 있는지, co_yield로 여러 값을 내보내거나 co_return으로 값을 반환할 수 있는지가 다르다.

자체 실행기를 쓰려면 적절한 작업 유형의 템플릿 매개변수로 지정하면 된다. 또는 기본 작업 유형을 사용해 co_await wscoro::this_coroutine으로 현재 코루틴의 핸들을 얻고 실행기에 전달한 뒤, co_await std::suspend_always{}로 실행기가 작업을 재개할 때까지 기다릴 수 있다. 이 사용 방식은 wsudo의 CorIO 파일에서 확인할 수 있다.

wscoro는 C++20 코루틴 사용에 필요한 기본 요소만 구현하며, 가능한 모든 경우를 다루지는 않는다. 다만 제작자는 흔히 쓰이는 여러 상황을 지원한다고 설명한다. 제공된 구성 요소로 사용자 정의 작업 유형을 만들 수 있으며, 정의는 wscoro.h에서 볼 수 있다.