namespace classname##__folly_detail_invoke_ns { \
namespace classname##__folly_detail_invoke_ns_inline {
\ void funcname(::folly::detail::invoke_private_overload&);
\ } \
classname##__folly_detail_invoke_ns_inline \
struct classname##__folly_detail_invoke { \
template <
typename...
Args> \
constexpr
auto operator()(
Args&&... args)
const \
-> decltype(funcname(static_cast<
Args&&>(args)...)) {
\ return funcname(static_cast<Args&&>(args)...); \
} \
}; \
} \
classname##__folly_detail_invoke_ns:: \
classname##__folly_detail_invoke> {}
#define FOLLY_POP_WARNING
#define FB_ARG_2_OR_1(...)
internal::ArgsMatcher< InnerMatcher > Args(const InnerMatcher &matcher)
requires E e noexcept(noexcept(s.error(std::move(e))))
#define FOLLY_CLANG_DISABLE_WARNING(warningName)
#define FOLLY_PP_DETAIL_APPEND_VA_ARG(...)