libstdc++: type_traits Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29#ifndef _GLIBCXX_TR2_TYPE_TRAITS
30#define _GLIBCXX_TR2_TYPE_TRAITS 1
31
32#pragma GCC system_header
35
36namespace std _GLIBCXX_VISIBILITY(default)
37{
38_GLIBCXX_BEGIN_NAMESPACE_VERSION
39
40namespace tr2
41{
42
43
44
45
46
47
48
49
50
51
52
53
54
55 template<typename... _Elements>
57
58
59 template<>
61 {
63 };
64
65
66 template<typename _First, typename... _Rest>
68 {
70
71 struct first
72 {
73 typedef _First type;
74 };
75
76 struct rest
77 {
79 };
80 };
81
82
83
84
85#if __has_builtin(__bases)
86
87 template<typename _Tp>
89 {
91 };
92#endif
93
94#if __has_builtin(__direct_bases)
95
96 template<typename _Tp>
98 {
100 };
101#endif
102
103
104}
105
106_GLIBCXX_END_NAMESPACE_VERSION
107}
108
109#endif
__bool_constant< true > true_type
The type used as a compile-time boolean with true value.
__bool_constant< false > false_type
The type used as a compile-time boolean with false value.
ISO C++ entities toplevel namespace is std.
constexpr auto empty(const _Container &__cont) noexcept(noexcept(__cont.empty())) -> decltype(__cont.empty())
Return whether a container is empty.
Sequence abstraction metafunctions for manipulating a typelist.
Enumerate all the direct base classes of a class. Form of a typelist.