proxygen
folly::detail::IdentifyCallable Class Reference

#include <DynamicParser-inl.h>

Public Types

enum  Kind { Kind::Function, Kind::MemberFunction }
 

Static Public Member Functions

template<typename Fn >
static constexpr Kind getKind ()
 

Private Types

template<typename Fn >
using IsMemFn = typename boost::function_types::template is_member_pointer< decltype(&Fn::operator())>
 

Static Private Member Functions

template<typename Fn >
static constexpr std::enable_if< IsMemFn< Fn >::value, Kind >::type test (IsMemFn< Fn > *)
 
template<typename >
static constexpr Kind test (...)
 

Detailed Description

Definition at line 41 of file DynamicParser-inl.h.

Member Typedef Documentation

template<typename Fn >
using folly::detail::IdentifyCallable::IsMemFn = typename boost::function_types::template is_member_pointer<decltype( &Fn::operator())>
private

Definition at line 53 of file DynamicParser-inl.h.

Member Enumeration Documentation

Enumerator
Function 
MemberFunction 

Definition at line 43 of file DynamicParser-inl.h.

43 { Function, MemberFunction };
A polymorphic function wrapper that is not copyable and does not require the wrapped function to be c...

Member Function Documentation

template<typename Fn >
static constexpr Kind folly::detail::IdentifyCallable::getKind ( )
inlinestatic

Definition at line 45 of file DynamicParser-inl.h.

45  {
46  return test<Fn>(nullptr);
47  }
template<typename Fn >
static constexpr std::enable_if<IsMemFn<Fn>::value, Kind>::type folly::detail::IdentifyCallable::test ( IsMemFn< Fn > *  )
inlinestaticprivate
template<typename >
static constexpr Kind folly::detail::IdentifyCallable::test (   ...)
inlinestaticprivate

Definition at line 60 of file DynamicParser-inl.h.

References Function.


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