1 #pragma clang system_header
2 
3 namespace std {
4 
5 template<class T, T v>
6 struct integral_constant {
7     static constexpr T value = v;
8     typedef T value_type;
9     typedef integral_constant type;
value_typeintegral_constant10     constexpr operator value_type() const noexcept { return value; }
11 };
12 
13 template <bool B>
14 using bool_constant = integral_constant<bool, B>;
15 using true_type = bool_constant<true>;
16 using false_type = bool_constant<false>;
17 
18 template<class T>
19 struct is_error_code_enum : false_type {};
20 
21 template<class T>
22 void swap(T &a, T &b);
23 }
24 
25