xref: /freebsd/contrib/llvm-project/libcxx/modules/std/optional.inc (revision 5f757f3ff9144b609b3c433dfd370cc6bdc191ad)
1*5f757f3fSDimitry Andric// -*- C++ -*-
2*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
3*5f757f3fSDimitry Andric//
4*5f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5*5f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information.
6*5f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7*5f757f3fSDimitry Andric//
8*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===//
9*5f757f3fSDimitry Andric
10*5f757f3fSDimitry Andricexport namespace std {
11*5f757f3fSDimitry Andric  // [optional.optional], class template optional
12*5f757f3fSDimitry Andric  using std::optional;
13*5f757f3fSDimitry Andric
14*5f757f3fSDimitry Andric  // [optional.nullopt], no-value state indicator
15*5f757f3fSDimitry Andric  using std::nullopt;
16*5f757f3fSDimitry Andric  using std::nullopt_t;
17*5f757f3fSDimitry Andric
18*5f757f3fSDimitry Andric  // [optional.bad.access], class bad_optional_access
19*5f757f3fSDimitry Andric  using std::bad_optional_access;
20*5f757f3fSDimitry Andric
21*5f757f3fSDimitry Andric  // [optional.relops], relational operators
22*5f757f3fSDimitry Andric  using std::operator==;
23*5f757f3fSDimitry Andric  using std::operator!=;
24*5f757f3fSDimitry Andric  using std::operator<;
25*5f757f3fSDimitry Andric  using std::operator>;
26*5f757f3fSDimitry Andric  using std::operator<=;
27*5f757f3fSDimitry Andric  using std::operator>=;
28*5f757f3fSDimitry Andric  using std::operator<=>;
29*5f757f3fSDimitry Andric
30*5f757f3fSDimitry Andric  // [optional.specalg], specialized algorithms
31*5f757f3fSDimitry Andric  using std::swap;
32*5f757f3fSDimitry Andric
33*5f757f3fSDimitry Andric  using std::make_optional;
34*5f757f3fSDimitry Andric
35*5f757f3fSDimitry Andric  // [optional.hash], hash support
36*5f757f3fSDimitry Andric  using std::hash;
37*5f757f3fSDimitry Andric} // namespace std
38