xref: /freebsd/contrib/llvm-project/libcxx/modules/std/expected.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#if _LIBCPP_STD_VER >= 23
12*5f757f3fSDimitry Andric  // [expected.unexpected], class template unexpected
13*5f757f3fSDimitry Andric  using std::unexpected;
14*5f757f3fSDimitry Andric
15*5f757f3fSDimitry Andric  // [expected.bad], class template bad_expected_access
16*5f757f3fSDimitry Andric  using std::bad_expected_access;
17*5f757f3fSDimitry Andric
18*5f757f3fSDimitry Andric  // in-place construction of unexpected values
19*5f757f3fSDimitry Andric  using std::unexpect;
20*5f757f3fSDimitry Andric  using std::unexpect_t;
21*5f757f3fSDimitry Andric
22*5f757f3fSDimitry Andric  // [expected.expected], class template expected
23*5f757f3fSDimitry Andric  using std::expected;
24*5f757f3fSDimitry Andric#endif // _LIBCPP_STD_VER >= 23
25*5f757f3fSDimitry Andric} // namespace std
26