proxygen
folly::detail::function::FunctionTraits< ReturnType(Args...) const >::SharedProxy Class Reference

#include <Function.h>

Public Member Functions

 SharedProxy (Function< ConstSignature > &&func)
 
ReturnType operator() (Args &&...args) const
 

Private Attributes

std::shared_ptr< Function< ConstSignature > > sp_
 

Detailed Description

template<typename ReturnType, typename... Args>
class folly::detail::function::FunctionTraits< ReturnType(Args...) const >::SharedProxy

Definition at line 377 of file Function.h.

Constructor & Destructor Documentation

template<typename ReturnType , typename... Args>
folly::detail::function::FunctionTraits< ReturnType(Args...) const >::SharedProxy::SharedProxy ( Function< ConstSignature > &&  func)
inlineexplicit

Definition at line 381 of file Function.h.

382  : sp_(std::make_shared<Function<ConstSignature>>(std::move(func))) {}
A polymorphic function wrapper that is not copyable and does not require the wrapped function to be c...
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567

Member Function Documentation

template<typename ReturnType , typename... Args>
ReturnType folly::detail::function::FunctionTraits< ReturnType(Args...) const >::SharedProxy::operator() ( Args &&...  args) const
inline

Definition at line 383 of file Function.h.

References testing::Args(), folly::detail::function::Data::big, folly::Function< FunctionType >::call_, folly::gen::move, folly::pushmi::__adl::noexcept(), and folly::detail::function::Data::tiny.

383  {
384  return (*sp_)(static_cast<Args&&>(args)...);
385  }
internal::ArgsMatcher< InnerMatcher > Args(const InnerMatcher &matcher)

Member Data Documentation

template<typename ReturnType , typename... Args>
std::shared_ptr<Function<ConstSignature> > folly::detail::function::FunctionTraits< ReturnType(Args...) const >::SharedProxy::sp_
private

Definition at line 378 of file Function.h.


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