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

#include <transform.h>

Public Member Functions

 value_fn ()=default
 
constexpr value_fn (F f)
 
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<> >::value_fn

Definition at line 36 of file transform.h.

Constructor & Destructor Documentation

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

Definition at line 39 of file transform.h.

Member Function Documentation

template<class F >
template<class Out , class V0 , class... VN>
auto folly::pushmi::detail::transform_on< F, is_single<> >::value_fn::operator() ( Out &  out,
V0 &&  v0,
VN &&...  vn 
)
inline

Definition at line 41 of file transform.h.

References folly::pushmi::set_value.

41  {
42  using Result = ::folly::pushmi::invoke_result_t<F, V0, VN...>;
43  static_assert(
44  ::folly::pushmi::SemiMovable<Result>,
45  "none of the functions supplied to transform can convert this value");
46  static_assert(
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...));
50  }
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<> >::value_fn::f_

Definition at line 37 of file transform.h.


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