]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/config/test/boost_no_cxx11_hdr_type_traits.ipp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / config / test / boost_no_cxx11_hdr_type_traits.ipp
1 // (C) Copyright Beman Dawes 2009
2
3 // Use, modification and distribution are subject to the
4 // Boost Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7 // See http://www.boost.org/libs/config for more information.
8
9 // MACRO: BOOST_NO_CXX11_HDR_TYPE_TRAITS
10 // TITLE: C++0x header <type_traits> unavailable
11 // DESCRIPTION: The standard library does not supply C++0x header <type_traits>
12
13 #include <type_traits>
14
15 namespace boost_no_cxx11_hdr_type_traits {
16
17 int test()
18 {
19 using std::integral_constant;
20 using std::true_type;
21 using std::false_type;
22 using std::is_void;
23 using std::is_integral;
24 using std::is_floating_point;
25 using std::is_array;
26 using std::is_pointer;
27 using std::is_lvalue_reference;
28 using std::is_rvalue_reference;
29 using std::is_member_object_pointer;
30 using std::is_member_function_pointer;
31 using std::is_enum;
32 using std::is_union;
33 using std::is_class;
34 using std::is_function;
35 using std::is_reference;
36 using std::is_arithmetic;
37 using std::is_fundamental;
38 using std::is_object;
39 using std::is_scalar;
40 using std::is_compound;
41 using std::is_member_pointer;
42 using std::is_const;
43 using std::is_volatile;
44 using std::is_trivial;
45 using std::is_trivially_copyable;
46 using std::is_standard_layout;
47 #if !((__cplusplus > 201703) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201703)))
48 // deprecated in C++20 (including preview editions):
49 using std::is_pod;
50 #endif
51 #if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
52 // deprecated in C++ 17:
53 using std::is_literal_type;
54 using std::result_of;
55 #endif
56 using std::is_empty;
57 using std::is_polymorphic;
58 using std::is_abstract;
59 using std::is_constructible;
60 using std::is_nothrow_constructible;
61 using std::is_default_constructible;
62 using std::is_copy_constructible;
63 using std::is_copy_assignable;
64 using std::is_move_constructible;
65 using std::is_move_assignable;
66 using std::is_destructible;
67 using std::is_trivially_default_constructible;
68 using std::is_trivially_copy_constructible;
69 using std::is_trivially_move_constructible;
70 using std::is_trivially_copy_assignable;
71 using std::is_trivially_move_assignable;
72 using std::is_trivially_destructible;
73 using std::is_nothrow_default_constructible;
74 using std::is_nothrow_copy_constructible;
75 using std::is_nothrow_move_constructible;
76 using std::is_nothrow_copy_assignable;
77 using std::is_nothrow_move_assignable;
78 using std::has_virtual_destructor;
79 using std::is_signed;
80 using std::is_unsigned;
81 using std::alignment_of;
82 using std::rank;
83 using std::extent;
84 using std::is_same;
85 using std::is_base_of;
86 using std::is_convertible;
87 using std::remove_const;
88 using std::remove_volatile;
89 using std::remove_cv;
90 using std::add_const;
91 using std::add_volatile;
92 using std::add_cv;
93 using std::remove_reference;
94 using std::add_lvalue_reference;
95 using std::add_rvalue_reference;
96 using std::make_signed;
97 using std::make_unsigned;
98 using std::remove_extent;
99 using std::remove_all_extents;
100 using std::remove_pointer;
101 using std::add_pointer;
102 using std::aligned_storage;
103 using std::aligned_union;
104 using std::decay;
105 using std::enable_if;
106 using std::conditional;
107 using std::common_type;
108 using std::underlying_type;
109 return 0;
110 }
111
112 }