friend auto tag_invoke()

in include/unifex/retry_when.hpp [368:377]


  friend auto tag_invoke(tag_t<connect>, Self&& self, Receiver&& r)
      noexcept(
        std::is_nothrow_constructible_v<Source, member_t<Self, Source>> &&
        std::is_nothrow_constructible_v<Func, member_t<Self, Func>> &&
        std::is_nothrow_constructible_v<remove_cvref_t<Receiver>, Receiver> &&
        is_nothrow_connectable_v<Source&, source_receiver<Source, Func, remove_cvref_t<Receiver>>>)
      -> operation<Source, Func, Receiver> {
    return operation<Source, Func, Receiver>{
        static_cast<Self&&>(self).source_, static_cast<Self&&>(self).func_, (Receiver&&)r};
  }