libstdc++: traits.hpp Source File (original) (raw)

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

30

31

32

33

34

35

36

37

38

39

40

41#ifndef PB_DS_OV_TREE_NODE_AND_IT_TRAITS_HPP

42#define PB_DS_OV_TREE_NODE_AND_IT_TRAITS_HPP

43

45

47{

48 namespace detail

49 {

50

51

52 template<typename Key,

53 typename Mapped,

54 class Cmp_Fn,

55 template<typename Node_CItr,

56 class Node_Itr,

57 class Cmp_Fn_,

58 typename _Alloc_>

59 class Node_Update,

60 typename _Alloc>

62 Key,

63 Mapped,

64 Cmp_Fn,

65 Node_Update,

67 _Alloc>

68 {

69 private:

70 typedef

72 Key,

73 Mapped,

74 _Alloc,

75 false>::value_type

76 value_type;

77

78 public:

79 typedef

81 Key,

82 Mapped,

83 Cmp_Fn,

84 Node_Update,

85 _Alloc>::type

86 metadata_type;

87

88

89

90 typedef

92 value_type,

93 metadata_type,

94 _Alloc>

96

97 typedef

99 value_type,

100 metadata_type,

101 _Alloc>

103

104 typedef

105 Node_Update<

108 Cmp_Fn,

109 _Alloc>

110 node_update;

111

112 typedef

116 Cmp_Fn,

117 _Alloc>*

119 };

120

121

122

123

124 template<typename Key,

125 class Cmp_Fn,

126 template<typename Node_CItr,

127 class Node_Itr,

128 class Cmp_Fn_,

129 typename _Alloc_>

130 class Node_Update,

131 typename _Alloc>

133 Key,

135 Cmp_Fn,

136 Node_Update,

138 _Alloc>

139 {

140 private:

141 typedef

143 Key,

145 _Alloc,

146 false>::value_type

148

149 public:

150 typedef

152 Key,

154 Cmp_Fn,

155 Node_Update,

156 _Alloc>::type

157 metadata_type;

158

159

160

161 typedef

164 metadata_type,

165 _Alloc>

167

169

170 typedef

171 Node_Update<

174 Cmp_Fn,

175 _Alloc>

176 node_update;

177

178 typedef

182 Cmp_Fn,

183 _Alloc>*

185 };

186 }

187}

188

189#endif

190

GNU extensions for policy-based data structures for public use.

Struct holding two objects of arbitrary type.

Represents no type, or absence of type, for template tricks.

A null node updator, indicating that no node updates are required.

Traits for abstract types.

Tree traits class, primary template.

ov_tree_node_const_it_< value_type, metadata_type, _Alloc > node_const_iterator

This is an iterator to an iterator: it iterates over nodes, and de-referencing it returns one of the ...

ov_tree_node_const_it_< value_type, metadata_type, _Alloc > node_const_iterator

This is an iterator to an iterator: it iterates over nodes, and de-referencing it returns one of the ...

Tree node metadata dispatch.