// -*- C++ -*- //===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef _LIBCPP___CXX03_EXPECTED #define _LIBCPP___CXX03_EXPECTED /* Header synopsis namespace std { // [expected.unexpected], class template unexpected template class unexpected; // [expected.bad], class template bad_expected_access template class bad_expected_access; // [expected.bad.void], specialization for void template<> class bad_expected_access; // in-place construction of unexpected values struct unexpect_t { explicit unexpect_t() = default; }; inline constexpr unexpect_t unexpect{}; // [expected.expected], class template expected template class expected; // [expected.void], partial specialization of expected for void types template requires is_void_v class expected; } */ #include <__cxx03/__config> #if _LIBCPP_STD_VER >= 23 # include <__cxx03/__expected/bad_expected_access.h> # include <__cxx03/__expected/expected.h> # include <__cxx03/__expected/unexpect.h> # include <__cxx03/__expected/unexpected.h> #endif #include <__cxx03/version> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header #endif #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 # include <__cxx03/cstddef> # include <__cxx03/initializer_list> # include <__cxx03/new> #endif #endif // _LIBCPP___CXX03_EXPECTED