Classes

  • namespace cti Declares the continuable library namespace.
    • namespace transforms The namespace transforms declares callable objects that transform any continuable_base to an object or to a continuable_base itself.
    • struct cancellation_result A class which is convertible to any result and that definitely holds a default constructed exception which signals the cancellation of the asynchronous control flow.
    • class continuable_base The main class of the continuable library, it provides the functionality for chaining callbacks and continuations together to a unified hierarchy.
    • struct empty_result A class which is convertible to any result and that definitely holds no value so the real result gets invalidated when this object is passed to it.
    • struct exception_arg_t Represents the tag type that is used to disambiguate the callback operator() in order to take the exception asynchronous chain.
    • class exceptional_result A class which is convertible to any result and that holds an exception which is then passed to the converted result object.
    • struct is_ready_arg_t Represents the tag type that is used to query the continuation for whether it resolves the callback instantly with its arguments without having side effects.
    • class promise_base The promise_base makes it possible to resolve an asynchronous continuable through it's result or through an error type.
    • class promisify Helper class for converting callback taking callable types into a a continuable. Various styles are supported.
    • class result The result class can carry the three kinds of results an asynchronous operation possibly can return, it's implemented in a variant like data structure which is also specialized to hold arbitrary arguments.
    • struct unpack_arg_t Represents the tag type that is used to unpack the result of a continuation.
    • struct use_continuable_t Type used as an ASIO completion token to specify an asynchronous operation that should return a continuable_base.