Commit 4ab51101 authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook GitHub Bot

let coro headers always be buildable

Summary: Let folly coro headers always be buildable whether or not coroutines are available. They may just be empty apart from transitive includes.

Reviewed By: iahs

Differential Revision: D26191449

fbshipit-source-id: 5865ce5edb13f97624b9f60c45c045886fdf0bfb
parent f133aef5
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
#include <folly/experimental/coro/Accumulate.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -42,3 +42,5 @@ Task<Output> accumulate(
}
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -17,8 +17,11 @@
#pragma once
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -53,4 +56,6 @@ Task<Output> accumulate(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Accumulate-inl.h>
......@@ -20,6 +20,7 @@
#include <folly/ExceptionWrapper.h>
#include <folly/Traits.h>
#include <folly/Try.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/CurrentExecutor.h>
#include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Result.h>
......@@ -33,10 +34,11 @@
#include <glog/logging.h>
#include <experimental/coroutine>
#include <iterator>
#include <type_traits>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -604,3 +606,5 @@ AsyncGeneratorPromise<Reference, Value>::get_return_object() noexcept {
} // namespace coro
} // namespace folly
#endif
......@@ -18,12 +18,15 @@
#include <folly/Try.h>
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/UnboundedQueue.h>
#include <memory>
#include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -178,3 +181,5 @@ class AsyncPipe {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,6 +16,7 @@
#pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/detail/Barrier.h>
#include <folly/experimental/coro/detail/BarrierTask.h>
......@@ -26,6 +27,8 @@
#include <atomic>
#include <cassert>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -171,3 +174,5 @@ inline folly::SemiFuture<folly::Unit> AsyncScope::cleanup() noexcept {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -15,13 +15,15 @@
*/
#include <folly/Executor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/tracing/AsyncStack.h>
#include <experimental/coroutine>
#include <utility>
#include <vector>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -76,3 +78,5 @@ inline constexpr AsyncStackTraceAwaitable co_current_async_stack_trace = {};
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -14,16 +14,16 @@
* limitations under the License.
*/
#include <folly/Portability.h>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/synchronization/AtomicUtil.h>
#include <cassert>
#include <utility>
#if FOLLY_HAS_COROUTINES
using namespace folly::coro;
Baton::~Baton() {
......
......@@ -17,7 +17,10 @@
#pragma once
#include <atomic>
#include <experimental/coroutine>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -140,3 +143,5 @@ inline void Baton::reset() noexcept {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,6 +18,7 @@
#include <folly/Try.h>
#include <folly/executors/ManualExecutor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/ViaIfAsync.h>
......@@ -30,10 +31,11 @@
#include <cassert>
#include <exception>
#include <experimental/coroutine>
#include <type_traits>
#include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -435,3 +437,5 @@ auto blockingWait(SemiAwaitable&& awaitable)
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -21,6 +21,8 @@
#include <folly/experimental/coro/detail/CurrentAsyncFrame.h>
#include <folly/experimental/coro/detail/Helpers.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
namespace detail {
......@@ -929,3 +931,5 @@ auto collectAllTryWindowed(InputRange awaitables, std::size_t maxConcurrency)
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,18 +18,20 @@
#include <folly/Try.h>
#include <folly/Unit.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/ViaIfAsync.h>
#include <folly/experimental/coro/detail/Traits.h>
#include <range/v3/view/move.hpp>
#include <experimental/coroutine>
#include <functional>
#include <iterator>
#include <tuple>
#include <type_traits>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
namespace detail {
......@@ -313,4 +315,6 @@ auto collectAllTryWindowed(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Collect-inl.h>
......@@ -14,7 +14,7 @@
* limitations under the License.
*/
#include <folly/experimental/coro/Concat.h>
#include <folly/experimental/coro/Coroutine.h>
namespace folly {
namespace coro {
......
......@@ -17,6 +17,9 @@
#pragma once
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -54,4 +57,6 @@ AsyncGenerator<HReference, HValue> concat(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Concat-inl.h>
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <folly/Portability.h>
#if FOLLY_HAS_COROUTINES
#include <experimental/coroutine>
#endif // FOLLY_HAS_COROUTINES
......@@ -19,10 +19,13 @@
#include <utility>
#include <folly/Executor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/ViaIfAsync.h>
#include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/io/async/Request.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -193,3 +196,5 @@ FOLLY_INLINE_VARIABLE constexpr co_safe_point_t co_safe_point{};
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,6 +16,8 @@
#include <folly/experimental/coro/Materialize.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -41,3 +43,5 @@ AsyncGenerator<Reference, Value> dematerialize(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,10 +18,13 @@
#include <folly/ExceptionWrapper.h>
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Materialize.h>
#include <variant>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -57,4 +60,6 @@ AsyncGenerator<Reference, Value> dematerialize(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Dematerialize-inl.h>
......@@ -16,15 +16,17 @@
#pragma once
#include <experimental/coroutine>
#include <type_traits>
#include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/detail/Helpers.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
template <typename Awaitable>
......@@ -69,3 +71,5 @@ Task<semi_await_result_t<Awaitable>> detachOnCancel(Awaitable awaitable) {
}
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -14,6 +14,8 @@
* limitations under the License.
*/
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -30,3 +32,5 @@ AsyncGenerator<Reference, Value> filter(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -17,6 +17,9 @@
#pragma once
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -41,4 +44,6 @@ AsyncGenerator<Reference, Value> filter(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Filter-inl.h>
......@@ -16,10 +16,13 @@
#pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -69,3 +72,5 @@ toFuture(SemiAwaitable&& a, Executor::KeepAlive<> ex) {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,12 +18,14 @@
#include <cassert>
#include <exception>
#include <experimental/coroutine>
#include <type_traits>
#include <utility>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -277,3 +279,5 @@ void swap(Generator<T>& a, Generator<T>& b) noexcept {
}
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -19,10 +19,13 @@
#include <atomic>
#include <type_traits>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Result.h>
#include <folly/experimental/coro/Task.h>
#include <folly/portability/GMock.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
namespace gmock_helpers {
......@@ -204,3 +207,5 @@ auto CoThrow(Ex&& e) {
} // namespace gmock_helpers
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -17,9 +17,12 @@
#pragma once
#include <folly/experimental/coro/BlockingWait.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h>
#include <folly/portability/GTest.h>
#if FOLLY_HAS_COROUTINES
/**
* This is based on the GTEST_TEST_ macro from gtest-internal.h. It seems that
* gtest doesn't yet support coro tests, so this macro adds a way to define a
......@@ -109,3 +112,5 @@ folly::coro::Task<void> GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::co_Te
CO_ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
#define CO_ASSERT_GT(val1, val2) \
CO_ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
#endif // FOLLY_HAS_COROUTINES
......@@ -14,6 +14,8 @@
* limitations under the License.
*/
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -42,3 +44,5 @@ AsyncGenerator<CallbackRecord<Reference>, CallbackRecord<Value>> materialize(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,9 +18,12 @@
#include <folly/ExceptionWrapper.h>
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <variant>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -217,4 +220,6 @@ AsyncGenerator<CallbackRecord<Reference>, CallbackRecord<Value>> materialize(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Materialize-inl.h>
......@@ -30,6 +30,8 @@
#include <exception>
#include <memory>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -191,3 +193,5 @@ AsyncGenerator<Reference, Value> merge(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -17,6 +17,9 @@
#pragma once
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -45,4 +48,6 @@ AsyncGenerator<Reference, Value> merge(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Merge-inl.h>
......@@ -18,6 +18,8 @@
#include <folly/experimental/coro/Merge.h>
#include <folly/experimental/coro/Transform.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -71,3 +73,5 @@ multiplex(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,11 +18,14 @@
#include <folly/ExceptionWrapper.h>
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Materialize.h>
#include <tuple>
#include <variant>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -84,4 +87,6 @@ multiplex(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Multiplex-inl.h>
......@@ -14,14 +14,12 @@
* limitations under the License.
*/
#include <folly/Portability.h>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Mutex.h>
#include <cassert>
#if FOLLY_HAS_COROUTINES
using namespace folly::coro;
Mutex::~Mutex() {
......
......@@ -17,12 +17,14 @@
#pragma once
#include <folly/Executor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/ViaIfAsync.h>
#include <atomic>
#include <experimental/coroutine>
#include <mutex>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -236,3 +238,5 @@ inline Mutex::LockOperation<Mutex::LockAwaiter> Mutex::co_lock() noexcept {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -20,6 +20,7 @@
#include <folly/ExceptionWrapper.h>
#include <folly/Random.h>
#include <folly/Try.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Result.h>
#include <folly/experimental/coro/Sleep.h>
#include <folly/experimental/coro/Task.h>
......@@ -29,6 +30,8 @@
#include <random>
#include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly::coro {
// Execute a given asynchronous operation returned by func(),
......@@ -307,3 +310,5 @@ auto retryWithExponentialBackoff(
}
} // namespace folly::coro
#endif // FOLLY_HAS_COROUTINES
......@@ -23,6 +23,9 @@
#include <glog/logging.h>
#include <folly/Portability.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -109,3 +112,5 @@ class FOLLY_NODISCARD SharedLock {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -14,12 +14,10 @@
* limitations under the License.
*/
#include <folly/Portability.h>
#include <folly/experimental/coro/SharedMutex.h>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/SharedMutex.h>
using namespace folly::coro;
SharedMutexFair::~SharedMutexFair() {
......
......@@ -18,7 +18,6 @@
#include <atomic>
#include <cassert>
#include <experimental/coroutine>
#include <limits>
#include <mutex>
#include <utility>
......@@ -26,9 +25,12 @@
#include <folly/Executor.h>
#include <folly/SpinLock.h>
#include <folly/Synchronized.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/SharedLock.h>
#include <folly/experimental/coro/ViaIfAsync.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -351,3 +353,5 @@ using SharedMutex = SharedMutexFair;
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -20,6 +20,8 @@
#include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/CurrentExecutor.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -58,3 +60,5 @@ inline Task<void> sleepReturnEarlyOnCancel(Duration d, Timekeeper* tk) {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,9 +16,12 @@
#pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h>
#include <folly/futures/Future.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -37,4 +40,6 @@ Task<void> sleepReturnEarlyOnCancel(Duration d, Timekeeper* tk = nullptr);
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Sleep-inl.h>
......@@ -17,7 +17,6 @@
#pragma once
#include <exception>
#include <experimental/coroutine>
#include <type_traits>
#include <glog/logging.h>
......@@ -28,6 +27,7 @@
#include <folly/ScopeGuard.h>
#include <folly/Traits.h>
#include <folly/Try.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/CurrentExecutor.h>
#include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Result.h>
......@@ -44,6 +44,8 @@
#include <folly/lang/Assume.h>
#include <folly/tracing/AsyncStack.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -752,3 +754,5 @@ inline Task<void> detail::TaskPromise<void>::get_return_object() noexcept {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,17 +16,19 @@
#pragma once
#include <experimental/coroutine>
#include <type_traits>
#include <folly/Optional.h>
#include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/detail/Helpers.h>
#include <folly/futures/Future.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
template <typename Awaitable>
......@@ -70,3 +72,5 @@ timed_wait(Awaitable awaitable, Duration duration) {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,6 +18,8 @@
#include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/WithCancellation.h>
#if FOLLY_HAS_COROUTINES
namespace folly::coro {
template <typename SemiAwaitable, typename Duration>
......@@ -102,3 +104,5 @@ timeout(SemiAwaitable semiAwaitable, Duration timeoutDuration, Timekeeper* tk) {
}
} // namespace folly::coro
#endif // FOLLY_HAS_COROUTINES
......@@ -16,10 +16,13 @@
#pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/futures/Future.h>
#if FOLLY_HAS_COROUTINES
namespace folly::coro {
// Returns a Task that, when started, starts a timer of duration
......@@ -47,4 +50,6 @@ Task<semi_await_result_t<SemiAwaitable>> timeout(
} // namespace folly::coro
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Timeout-inl.h>
......@@ -17,10 +17,12 @@
#pragma once
#include <folly/Traits.h>
#include <folly/experimental/coro/Coroutine.h>
#include <experimental/coroutine>
#include <type_traits>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -209,3 +211,5 @@ constexpr bool promiseHasAsyncFrame_v<
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,6 +16,8 @@
#include <folly/experimental/coro/Transform.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -30,3 +32,5 @@ AsyncGenerator<invoke_result_t<TransformFn&, Reference>> transform(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -17,6 +17,9 @@
#pragma once
#include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -54,4 +57,6 @@ AsyncGenerator<invoke_result_t<TransformFn&, Reference>> transform(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Transform-inl.h>
......@@ -17,9 +17,12 @@
#pragma once
#include <folly/concurrency/UnboundedQueue.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h>
#include <folly/fibers/Semaphore.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -67,3 +70,5 @@ class UnboundedQueue {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,12 +16,15 @@
#pragma once
#include <experimental/coroutine>
#include <type_traits>
#include <variant>
#include <folly/Utility.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -112,3 +115,5 @@ class AwaitableVariant : private std::variant<A...> {
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,11 +16,11 @@
#pragma once
#include <experimental/coroutine>
#include <memory>
#include <folly/Executor.h>
#include <folly/Traits.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/experimental/coro/WithCancellation.h>
......@@ -31,6 +31,8 @@
#include <glog/logging.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
class InlineExecutor;
......@@ -621,3 +623,5 @@ detail::TryAwaitable<remove_cvref_t<Awaitable>> co_awaitTry(
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,9 +16,12 @@
#pragma once
#include <experimental/coroutine>
#include <future>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -67,3 +70,5 @@ class Wait {
};
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,6 +16,7 @@
#pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/functional/Invoke.h>
#include <folly/lang/Assume.h>
......@@ -26,6 +27,8 @@
#include <type_traits>
#include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly::coro {
namespace detail {
......@@ -258,3 +261,5 @@ inline constexpr bool is_awaitable_async_stack_aware_v =
FOLLY_DEFINE_CPO(detail::WithAsyncStackFunction, co_withAsyncStack)
} // namespace folly::coro
#endif // FOLLY_HAS_COROUTINES
......@@ -17,8 +17,11 @@
#pragma once
#include <folly/CancellationToken.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/lang/CustomizationPoint.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -65,3 +68,5 @@ FOLLY_DEFINE_CPO(detail::adl::WithCancellationFunction, co_withCancellation)
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,6 +16,7 @@
#pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/tracing/AsyncStack.h>
......@@ -24,9 +25,10 @@
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <experimental/coroutine>
#include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
namespace detail {
......@@ -154,3 +156,5 @@ class Barrier {
} // namespace detail
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -16,14 +16,16 @@
#pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/experimental/coro/detail/Barrier.h>
#include <folly/experimental/coro/detail/Malloc.h>
#include <cassert>
#include <experimental/coroutine>
#include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
namespace detail {
......@@ -222,3 +224,5 @@ class DetachedBarrierTask {
} // namespace detail
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -24,10 +24,11 @@
#pragma once
#include <folly/Executor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/tracing/AsyncStack.h>
#include <experimental/coroutine>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
......@@ -73,3 +74,5 @@ inline constexpr CurrentAsyncStackFrameAwaitable co_current_async_stack_frame{};
} // namespace detail
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,9 +18,12 @@
#include <folly/Executor.h>
#include <folly/SingletonThreadLocal.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/io/async/Request.h>
#include <folly/tracing/AsyncStack.h>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
namespace detail {
......@@ -46,3 +49,5 @@ class UnsafeResumeInlineSemiAwaitable {
} // namespace detail
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -18,15 +18,17 @@
#include <folly/ScopeGuard.h>
#include <folly/Try.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/experimental/coro/detail/Malloc.h>
#include <folly/lang/Assume.h>
#include <folly/tracing/AsyncStack.h>
#include <cassert>
#include <experimental/coroutine>
#include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly {
namespace coro {
namespace detail {
......@@ -322,3 +324,5 @@ struct InlineTaskDetached {
} // namespace detail
} // namespace coro
} // namespace folly
#endif // FOLLY_HAS_COROUTINES
......@@ -30,9 +30,7 @@
#error "Cannot build without at least one of AsyncIO.h and IoUring.h"
#endif
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Baton.h>
#endif
#include <folly/portability/Sockets.h>
namespace folly {
......
......@@ -18,15 +18,12 @@
#include <folly/Synchronized.h>
#include <folly/executors/GlobalExecutor.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/io/AsyncBase.h>
#include <folly/io/async/EventHandler.h>
#include <folly/io/async/ScopedEventBaseThread.h>
#include <queue>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Task.h>
#endif
namespace folly {
class SimpleAsyncIO : public EventHandler {
......
......@@ -20,12 +20,9 @@
#include <folly/Portability.h>
#include <folly/detail/Futex.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/io/async/HHWheelTimer.h>
#if FOLLY_HAS_COROUTINES
#include <experimental/coroutine>
#endif
namespace folly {
namespace fibers {
......
......@@ -18,11 +18,9 @@
#include <folly/IntrusiveList.h>
#include <folly/Synchronized.h>
#include <folly/experimental/coro/Task.h>
#include <folly/fibers/Baton.h>
#include <folly/futures/Future.h>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Task.h>
#endif
#include <deque>
......
......@@ -32,6 +32,7 @@
#include <folly/Utility.h>
#include <folly/executors/DrivableExecutor.h>
#include <folly/executors/TimedDrivableExecutor.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/fibers/Baton.h>
#include <folly/functional/Invoke.h>
#include <folly/futures/Portability.h>
......@@ -39,12 +40,6 @@
#include <folly/futures/detail/Types.h>
#include <folly/lang/Exception.h>
#if FOLLY_HAS_COROUTINES
#include <experimental/coroutine>
#include <folly/experimental/coro/Traits.h>
#endif
// boring predeclarations and details
#include <folly/futures/Future-pre.h>
......
......@@ -22,10 +22,7 @@
#include <folly/CPortability.h>
#include <folly/CppAttributes.h>
#include <folly/Portability.h>
#if FOLLY_HAS_COROUTINES
#include <experimental/coroutine>
#endif
#include <folly/experimental/coro/Coroutine.h>
namespace folly {
......
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