proxygen
folly::pushmi::detail::transform_on< F, is_single<>, true > Struct Template Reference

#include <transform.h>

Public Member Functions

 transform_on ()=default
 
constexpr transform_on (F f)
 
template<class Out >
auto operator() (Out out) const
 
template<class Out , class V0 , class... VN>
auto operator() (Out &out, V0 &&v0, VN &&...vn)
 

Public Attributes

f_
 

Detailed Description

template<class F>
struct folly::pushmi::detail::transform_on< F, is_single<>, true >

Definition at line 59 of file transform.h.

Constructor & Destructor Documentation

template<class F >
folly::pushmi::detail::transform_on< F, is_single<>, true >::transform_on ( )
default
template<class F >
constexpr folly::pushmi::detail::transform_on< F, is_single<>, true >::transform_on ( f)
inlineexplicit

Definition at line 62 of file transform.h.

62 : f_(std::move(f)) {}
auto f
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567

Member Function Documentation

template<class F >
template<class Out >
auto folly::pushmi::detail::transform_on< F, is_single<>, true >::operator() ( Out  out) const
inline

Definition at line 64 of file transform.h.

References folly::gen::move, and folly::pushmi::on_value().

64  {
65  return make_flow_single(std::move(out), on_value(*this));
66  }
auto on_value(Fns...fns) -> on_value_fn< Fns... >
Definition: boosters.h:262
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
template<class F >
template<class Out , class V0 , class... VN>
auto folly::pushmi::detail::transform_on< F, is_single<>, true >::operator() ( Out &  out,
V0 &&  v0,
VN &&...  vn 
)
inline

Definition at line 68 of file transform.h.

References folly::pushmi::set_value.

68  {
69  using Result = ::folly::pushmi::invoke_result_t<F, V0, VN...>;
70  static_assert(
71  ::folly::pushmi::SemiMovable<Result>,
72  "none of the functions supplied to transform can convert this value");
73  static_assert(
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...));
78  }
PUSHMI_INLINE_VAR constexpr __adl::set_value_fn set_value
decltype(folly::pushmi::invoke(std::declval< F >(), std::declval< As >()...)) invoke_result_t
Definition: functional.h:47

Member Data Documentation

template<class F >
F folly::pushmi::detail::transform_on< F, is_single<>, true >::f_

Definition at line 60 of file transform.h.


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