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.