Commit 2e670e0a authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook GitHub Bot

rename co_invoke_type to co_invoke_fn

Summary: Follow a convention that function object types with corresponding function object instances be named with a `_fn` suffix.

Reviewed By: ericniebler

Differential Revision: D26674781

fbshipit-source-id: f8a3b8f18677c905897da8bae38cc76693146073
parent da20bc44
......@@ -573,7 +573,7 @@ class FOLLY_NODISCARD AsyncGenerator {
template <typename F, typename... A, typename F_, typename... A_>
friend AsyncGenerator tag_invoke(
tag_t<co_invoke_type>, tag_t<AsyncGenerator, F, A...>, F_ f, A_... a) {
tag_t<co_invoke_fn>, tag_t<AsyncGenerator, F, A...>, F_ f, A_... a) {
auto r = invoke(static_cast<F&&>(f), static_cast<A&&>(a)...);
while (auto v = co_await r.next()) {
co_yield std::move(v).value();
......
......@@ -256,7 +256,7 @@ class Generator {
template <typename F, typename... A, typename F_, typename... A_>
friend Generator tag_invoke(
tag_t<co_invoke_type>, tag_t<Generator, F, A...>, F_ f, A_... a) {
tag_t<co_invoke_fn>, tag_t<Generator, F, A...>, F_ f, A_... a) {
auto&& r = invoke(static_cast<F&&>(f), static_cast<A&&>(a)...);
for (auto&& v : r) {
co_yield std::move(v);
......
......@@ -73,27 +73,27 @@ namespace coro {
// auto task = co_invoke([](string n) -> Task<T> {
// co_return co_await make<T>(n);
// }, std::move(name)); // passed as &&
struct co_invoke_type {
struct co_invoke_fn {
template <typename F, typename... A>
FOLLY_ERASE constexpr auto operator()(F&& f, A&&... a) const
noexcept(noexcept(tag_invoke(
tag<co_invoke_type>,
tag<co_invoke_fn>,
tag<invoke_result_t<F, A...>, F, A...>,
static_cast<F&&>(f),
static_cast<A&&>(a)...)))
-> decltype(tag_invoke(
tag<co_invoke_type>,
tag<co_invoke_fn>,
tag<invoke_result_t<F, A...>, F, A...>,
static_cast<F&&>(f),
static_cast<A&&>(a)...)) {
return tag_invoke(
tag<co_invoke_type>,
tag<co_invoke_fn>,
tag<invoke_result_t<F, A...>, F, A...>,
static_cast<F&&>(f),
static_cast<A&&>(a)...);
}
};
FOLLY_DEFINE_CPO(co_invoke_type, co_invoke)
FOLLY_DEFINE_CPO(co_invoke_fn, co_invoke)
} // namespace coro
} // namespace folly
......@@ -630,7 +630,7 @@ class FOLLY_NODISCARD Task {
template <typename F, typename... A, typename F_, typename... A_>
friend Task tag_invoke(
tag_t<co_invoke_type>, tag_t<Task, F, A...>, F_ f, A_... a) {
tag_t<co_invoke_fn>, tag_t<Task, F, A...>, F_ f, A_... a) {
co_return co_await invoke(static_cast<F&&>(f), static_cast<A&&>(a)...);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment