1// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10export namespace std {
11#ifndef _LIBCPP_HAS_NO_THREADS
12  using std::future_errc;
13  using std::future_status;
14  using std::launch;
15
16  // launch is a bitmask type.
17  // [bitmask.types] specified operators
18  using std::operator&;
19  using std::operator&=;
20  using std::operator^;
21  using std::operator^=;
22  using std::operator|;
23  using std::operator|=;
24  using std::operator~;
25
26  // [futures.errors], error handling
27  using std::is_error_code_enum;
28  using std::make_error_code;
29  using std::make_error_condition;
30
31  using std::future_category;
32
33  // [futures.future.error], class future_error
34  using std::future_error;
35
36  // [futures.promise], class template promise
37  using std::promise;
38
39  using std::swap;
40
41  using std::uses_allocator;
42
43  // [futures.unique.future], class template future
44  using std::future;
45
46  // [futures.shared.future], class template shared_future
47  using std::shared_future;
48
49  // [futures.task], class template packaged_task
50  using std::packaged_task;
51
52  // [futures.async], function template async
53  using std::async;
54#endif // _LIBCPP_HAS_NO_THREADS
55} // namespace std
56