proxygen
folly::pushmi::detail::transform_on< F, is_many<> > 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_many<> >

Definition at line 82 of file transform.h.

Constructor & Destructor Documentation

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

Definition at line 85 of file transform.h.

85 : 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_many<> >::operator() ( Out  out) const
inline

Definition at line 87 of file transform.h.

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

87  {
89  }
auto on_value(Fns...fns) -> on_value_fn< Fns... >
Definition: boosters.h:262
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
PUSHMI_INLINE_VAR constexpr struct folly::pushmi::make_receiver_fn make_receiver
template<class F >
template<class Out , class V0 , class... VN>
auto folly::pushmi::detail::transform_on< F, is_many<> >::operator() ( Out &  out,
V0 &&  v0,
VN &&...  vn 
)
inline

Definition at line 91 of file transform.h.

References folly::pushmi::set_value.

91  {
92  using Result = ::folly::pushmi::invoke_result_t<F, V0, VN...>;
93  static_assert(
94  ::folly::pushmi::SemiMovable<Result>,
95  "none of the functions supplied to transform can convert this value");
96  static_assert(
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...));
100  }
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_many<> >::f_

Definition at line 83 of file transform.h.


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