xref: /aosp_15_r20/external/cronet/third_party/libc++/src/modules/std/future.cppm (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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
10module;
11#include <future>
12
13export module std:future;
14export namespace std {
15  using std::future_errc;
16  using std::future_status;
17  using std::launch;
18
19  // launch is a bitmask type.
20  // [bitmask.types] specified operators
21  using std::operator&;
22  using std::operator&=;
23  using std::operator^;
24  using std::operator^=;
25  using std::operator|;
26  using std::operator|=;
27  using std::operator~;
28
29  // [futures.errors], error handling
30  using std::is_error_code_enum;
31  using std::make_error_code;
32  using std::make_error_condition;
33
34  using std::future_category;
35
36  // [futures.future.error], class future_error
37  using std::future_error;
38
39  // [futures.promise], class template promise
40  using std::promise;
41
42  using std::swap;
43
44  using std::uses_allocator;
45
46  // [futures.unique.future], class template future
47  using std::future;
48
49  // [futures.shared.future], class template shared_future
50  using std::shared_future;
51
52  // [futures.task], class template packaged_task
53  using std::packaged_task;
54
55  // [futures.async], function template async
56  using std::async;
57} // namespace std
58