A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.github.io/LWG/issue4204 below:

specification of as-sndr2(Sig) in [exec.let] is incomplete

-7- impls-for<decayed-typeof<let-cpo>>::get-state is initialized with a callable object equivalent to the following:


  []<class Sndr, class Rcvr>(Sndr&& sndr, Rcvr& rcvr) requires see below {
    auto& [_, fn, child] = sndr;
    using fn_t = decay_t<decltype(fn)>;
    using env_t = decltype(let-env(child));
    using args_variant_t = see below;
    using ops2_variant_t = see below;

    struct state-type {
      fn_t fn;                    // exposition only
      env_t env;                  // exposition only
      args_variant_t args;        // exposition only
      ops2_variant_t ops2;        // exposition only
    };
    return state-type{std::forward_like<Sndr>(fn), let-env(child), {}, {}};
  }

-8- Let Sigs be a pack of the arguments to the completion_signatures specialization named by completion_signatures_of_t<child-type<Sndr>, env_of_t<Rcvr>>. Let LetSigs be a pack of those types in Sigs with a return type of decayed-typeof<set-cpo>. Let as-tuple be an alias template such that as-tuple<Tag(Args...)> denotes the type decayed-tuple<Args...>. Then args_variant_t denotes the type variant<monostate, as-tuple<LetSigs>...> except with duplicate types removed.

-9- Given a type Tag and a pack Args, let as-sndr2 be an alias template such that as-sndr2<Tag(Args...)> denotes the type call-result-t<Fn, decay_t<Args>&...>. Then ops2_variant_t denotes the type

 variant<monostate, connect_result_t<as-sndr2<LetSigs>, receiver2<Rcvr, Envenv_t>>...>
except with duplicate types removed.

-10- The requires-clause constraining the above lambda is satisfied if and only if the types args_variant_t and ops2_variant_t are well-formed.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4