brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 1749630 Raw
61 lines · plain
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-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCPP_EXPECTED11#define _LIBCPP_EXPECTED12 13/*14  Header <expected> synopsis15 16namespace std {17  // [expected.unexpected], class template unexpected18  template<class E> class unexpected;19 20  // [expected.bad], class template bad_expected_access21  template<class E> class bad_expected_access;22 23  // [expected.bad.void], specialization for void24  template<> class bad_expected_access<void>;25 26  // in-place construction of unexpected values27  struct unexpect_t {28    explicit unexpect_t() = default;29  };30  inline constexpr unexpect_t unexpect{};31 32  // [expected.expected], class template expected33  template<class T, class E> class expected;34 35  // [expected.void], partial specialization of expected for void types36  template<class T, class E> requires is_void_v<T> class expected<T, E>;37}38 39*/40 41#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)42#  include <__cxx03/__config>43#else44#  include <__config>45 46#  if _LIBCPP_STD_VER >= 2347#    include <__expected/bad_expected_access.h>48#    include <__expected/expected.h>49#    include <__expected/unexpect.h>50#    include <__expected/unexpected.h>51#  endif52 53#  include <version>54 55#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)56#    pragma GCC system_header57#  endif58#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)59 60#endif // _LIBCPP_EXPECTED61