1// -*- C++ -*-
2//===-------------------------- system_error ------------------------------===//
3//
4//                     The LLVM Compiler Infrastructure
5//
6// This file is dual licensed under the MIT and the University of Illinois Open
7// Source Licenses. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10
11#ifndef _LIBCPP_EXPERIMENTAL_SYSTEM_ERROR
12#define _LIBCPP_EXPERIMENTAL_SYSTEM_ERROR
13
14/**
15    experimental/system_error synopsis
16
17// C++1y
18
19#include <system_error>
20
21namespace std {
22namespace experimental {
23inline namespace fundamentals_v1 {
24
25  // See C++14 19.5, System error support
26  template <class T> constexpr bool is_error_code_enum_v
27    = is_error_code_enum<T>::value;
28  template <class T> constexpr bool is_error_condition_enum_v
29    = is_error_condition_enum<T>::value;
30
31} // namespace fundamentals_v1
32} // namespace experimental
33} // namespace std
34
35*/
36
37#include <experimental/__config>
38
39#if _LIBCPP_STD_VER > 11
40
41#include <system_error>
42
43#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
44#pragma GCC system_header
45#endif
46
47_LIBCPP_BEGIN_NAMESPACE_LFTS
48
49#if __has_feature(cxx_variable_templates)
50
51template <class _Tp> _LIBCPP_CONSTEXPR bool is_error_code_enum_v
52    = is_error_code_enum<_Tp>::value;
53
54template <class _Tp> _LIBCPP_CONSTEXPR bool is_error_condition_enum_v
55    = is_error_condition_enum<_Tp>::value;
56
57#endif /* __has_feature(cxx_variable_templates) */
58
59_LIBCPP_END_NAMESPACE_LFTS
60
61#endif /* _LIBCPP_STD_VER > 11 */
62
63#endif /* _LIBCPP_EXPERIMENTAL_SYSTEM_ERROR */
64