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