28 template <
class F,
class Tag,
bool IsFlow = false>
40 template <
class Out,
class V0,
class... VN>
44 ::folly::pushmi::SemiMovable<Result>,
45 "none of the functions supplied to transform can convert this value");
47 ::folly::pushmi::ReceiveValue<Out, Result>,
48 "Result of value transform cannot be delivered to Out");
49 set_value(out, f_((V0 &&) v0, (VN &&) vn...));
67 template <
class Out,
class V0,
class... VN>
71 ::folly::pushmi::SemiMovable<Result>,
72 "none of the functions supplied to transform can convert this value");
74 ::folly::pushmi::Flow<Out> &&
75 ::folly::pushmi::ReceiveValue<Out, Result>,
76 "Result of value transform cannot be delivered to Out");
77 set_value(out, f_((V0 &&) v0, (VN &&) vn...));
90 template <
class Out,
class V0,
class... VN>
94 ::folly::pushmi::SemiMovable<Result>,
95 "none of the functions supplied to transform can convert this value");
97 ::folly::pushmi::ReceiveValue<Out, Result>,
98 "Result of value transform cannot be delivered to Out");
99 set_value(out, f_((V0 &&) v0, (VN &&) vn...));
112 template <
class Out,
class V0,
class... VN>
116 ::folly::pushmi::SemiMovable<Result>,
117 "none of the functions supplied to transform can convert this value");
119 ::folly::pushmi::Flow<Out> &&
120 ::folly::pushmi::ReceiveValue<Out, Result>,
121 "Result of value transform cannot be delivered to Out");
122 set_value(out, f_((V0 &&) v0, (VN &&) vn...));
133 auto operator()(In in)
const {
137 ::folly::pushmi::detail::submit_transform_out<In>(
147 template <
class... FN>
150 using F = decltype(
f);
157 namespace operators {
auto overload(Fns...fns) -> overload_fn< Fns... >
auto on_value(Fns...fns) -> on_value_fn< Fns... >
std::enable_if_t< PropertySet< __properties_t< property_set_traits< T >>>, __properties_t< property_set_traits< T >>> properties_t
constexpr detail::Map< Move > move
—— Concurrent Priority Queue Implementation ——
PUSHMI_INLINE_VAR constexpr detail::transform_fn transform
PUSHMI_INLINE_VAR constexpr bool property_query_v
requires requires(::folly::pushmi::invoke(std::declval< F >(), std::get< Is >(std::declval< Tuple >())...))) const expr decltype(auto) apply_impl(F &&f
std::enable_if_t< PropertySet< PS > &&Property< P >, decltype(detail::__property_set_index_fn< P >(PS{}))> property_set_index_t
#define PUSHMI_INLINE_VAR
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::make_flow_receiver_fn make_flow_receiver
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::detail::sender_from_fn sender_from
PUSHMI_INLINE_VAR constexpr __adl::set_value_fn set_value
PUSHMI_TEMPLATE(class In, class Out, bool SenderRequires, bool SingleSenderRequires, bool TimeSingleSenderRequires)(requires Sender< In > &&Receiver< Out >) constexpr bool sender_requires_from()
decltype(folly::pushmi::invoke(std::declval< F >(), std::declval< As >()...)) invoke_result_t
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::make_receiver_fn make_receiver