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