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.