xref: /aosp_15_r20/external/cronet/third_party/libc++/src/modules/std/optional.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 <optional>
12
13export module std:optional;
14export namespace std {
15  // [optional.optional], class template optional
16  using std::optional;
17
18  // [optional.nullopt], no-value state indicator
19  using std::nullopt;
20  using std::nullopt_t;
21
22  // [optional.bad.access], class bad_optional_access
23  using std::bad_optional_access;
24
25  // [optional.relops], relational operators
26  using std::operator==;
27  using std::operator!=;
28  using std::operator<;
29  using std::operator>;
30  using std::operator<=;
31  using std::operator>=;
32  using std::operator<=>;
33
34  // [optional.specalg], specialized algorithms
35  using std::swap;
36
37  using std::make_optional;
38
39  // [optional.hash], hash support
40  using std::hash;
41} // namespace std
42