RPNX::QueryGraph
Typed, memoized, concurrent query evaluation for C++23
Loading...
Searching...
No Matches
rpnx::querygraph::debug_abi::coroutine< HandlerSpec > Struct Template Reference

Owning coroutine return object for a registered query handler. More...

#include <querygraph.hpp>

Public Types

using spec_type = HandlerSpec
 Handler specification associated with this coroutine.
 
template<typename Ret>
using cosubroutine = cosubroutine_impl< HandlerSpec, Ret >
 Coroutine-aware, non-memoized sub-operation return type.
 

Detailed Description

template<query_handler_spec_c HandlerSpec>
struct rpnx::querygraph::debug_abi::coroutine< HandlerSpec >

Owning coroutine return object for a registered query handler.

A handler implementing HandlerSpec returns this type and completes with co_return query_handler_output_t<HandlerSpec>. Its promise intercepts QueryGraph request, dependency, subquery, diagnostic, and cosubroutine await/yield values. Applications normally create this object only by calling a coroutine handler; the graph owns it while the corresponding memoized node exists.

Template Parameters
HandlerSpecSpecification of the handler coroutine.

Definition at line 2354 of file querygraph.hpp.

Member Typedef Documentation

◆ cosubroutine

template<query_handler_spec_c HandlerSpec>
template<typename Ret>
using rpnx::querygraph::debug_abi::coroutine< HandlerSpec >::cosubroutine = cosubroutine_impl< HandlerSpec, Ret >

Coroutine-aware, non-memoized sub-operation return type.

A cosubroutine shares its root handler's node and executor context and may use the same declared dependency and subquery operations.

Template Parameters
RetValue returned to the awaiting handler, or void.

Definition at line 2368 of file querygraph.hpp.

◆ spec_type

template<query_handler_spec_c HandlerSpec>
using rpnx::querygraph::debug_abi::coroutine< HandlerSpec >::spec_type = HandlerSpec

Handler specification associated with this coroutine.

Definition at line 2357 of file querygraph.hpp.


The documentation for this struct was generated from the following file: