• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[
2  { include: ["<__algorithm/all_of.h>", "private", "<algorithm>", "public"] },
3  { include: ["<__algorithm/any_of.h>", "private", "<algorithm>", "public"] },
4  { include: ["<__algorithm/copy.h>", "private", "<algorithm>", "public"] },
5  { include: ["<__algorithm/copy_n.h>", "private", "<algorithm>", "public"] },
6  { include: ["<__algorithm/count.h>", "private", "<algorithm>", "public"] },
7  { include: ["<__algorithm/equal.h>", "private", "<algorithm>", "public"] },
8  { include: ["<__algorithm/equal_range.h>", "private", "<algorithm>", "public"] },
9  { include: ["<__algorithm/fill.h>", "private", "<algorithm>", "public"] },
10  { include: ["<__algorithm/fill_n.h>", "private", "<algorithm>", "public"] },
11  { include: ["<__algorithm/find.h>", "private", "<algorithm>", "public"] },
12  { include: ["<__algorithm/find_if.h>", "private", "<algorithm>", "public"] },
13  { include: ["<__algorithm/is_sorted.h>", "private", "<algorithm>", "public"] },
14  { include: ["<__algorithm/lower_bound.h>", "private", "<algorithm>", "public"] },
15  { include: ["<__algorithm/max.h>", "private", "<algorithm>", "public"] },
16  { include: ["<__algorithm/max_element.h>", "private", "<algorithm>", "public"] },
17  { include: ["<__algorithm/min.h>", "private", "<algorithm>", "public"] },
18  { include: ["<__algorithm/min_element.h>", "private", "<algorithm>", "public"] },
19  { include: ["<__algorithm/minmax.h>", "private", "<algorithm>", "public"] },
20  { include: ["<__algorithm/move.h>", "private", "<algorithm>", "public"] },
21  { include: ["<__algorithm/partition.h>", "private", "<algorithm>", "public"] },
22  { include: ["<__algorithm/remove.h>", "private", "<algorithm>", "public"] },
23  { include: ["<__algorithm/remove_if.h>", "private", "<algorithm>", "public"] },
24  { include: ["<__algorithm/reverse.h>", "private", "<algorithm>", "public"] },
25  { include: ["<__algorithm/search.h>", "private", "<algorithm>", "public"] },
26  { include: ["<__algorithm/sort.h>", "private", "<algorithm>", "public"] },
27  { include: ["<__algorithm/stable_sort.h>", "private", "<algorithm>", "public"] },
28  { include: ["<__algorithm/transform.h>", "private", "<algorithm>", "public"] },
29  { include: ["<__algorithm/unique.h>", "private", "<algorithm>", "public"] },
30  { include: ["<__algorithm/upper_bound.h>", "private", "<algorithm>", "public"] },
31
32  { symbol: ["std::swap", "private", "<algorithm>", "public"] },
33  { symbol: ["std::swap", "private", "<utility>", "public"] },
34  { symbol: ["std::swap", "private", "<string_view>", "public"] },
35
36  { include: ["<__chrono/duration.h>", "private", "<chrono>", "public"] },
37  { include: ["<__chrono/steady_clock.h>", "private", "<chrono>", "public"] },
38  { include: ["<__chrono/time_point.h>", "private", "<chrono>", "public"] },
39
40  { symbol: ["INT32_MAX", "private", "<climits>", "public"]},
41
42  { symbol: ["abs", "private", "<cmath>", "public"]},
43  { symbol: ["fabs", "private", "<cmath>", "public"]},
44  { symbol: ["sqrt", "private", "<cmath>", "public"]},
45
46  { symbol: ["std::abs", "private", "<cmath>", "public"]},
47  { symbol: ["std::abs", "private", "<cstdlib>", "public"]},
48
49  # Prefer cstring over string.h for memcpy and memcmp.
50  { symbol: ["memcpy", "private", "<cstring>", "public"]},
51  { symbol: ["memcmp", "private", "<cstring>", "public"]},
52  { symbol: ["std::memcpy", "private", "<cstring>", "public"]},
53  { symbol: ["std::memcmp", "private", "<cstring>", "public"]},
54
55  # The first of these is the preferred include, but the others are acceptable.
56  { symbol: ["size_t", "private", "<cstddef>", "public"]},
57  { symbol: ["size_t", "private", "<cstdio>", "public"]},
58  { symbol: ["size_t", "private", "<cstdlib>", "public"]},
59  { symbol: ["size_t", "private", "<cstring>", "public"]},
60  { symbol: ["size_t", "private", "<ctime>", "public"]},
61  { symbol: ["size_t", "private", "<cuchar>", "public"]},
62  { symbol: ["size_t", "private", "<cwchar>", "public"]},
63
64  { symbol: ["std::size_t", "private", "<cstddef>", "public"]},
65  { symbol: ["std::size_t", "private", "<cstdio>", "public"]},
66  { symbol: ["std::size_t", "private", "<cstdlib>", "public"]},
67  { symbol: ["std::size_t", "private", "<cstring>", "public"]},
68  { symbol: ["std::size_t", "private", "<ctime>", "public"]},
69  { symbol: ["std::size_t", "private", "<cuchar>", "public"]},
70  { symbol: ["std::size_t", "private", "<cwchar>", "public"]},
71
72  { symbol: ["std::size", "private", "<array>", "public"]},
73  { symbol: ["std::size", "private", "<deque>", "public"]},
74  { symbol: ["std::size", "private", "<forward_list>", "public"]},
75  { symbol: ["std::size", "private", "<iterator>", "public"]},
76  { symbol: ["std::size", "private", "<list>", "public"]},
77  { symbol: ["std::size", "private", "<map>", "public"]},
78  { symbol: ["std::size", "private", "<regex>", "public"]},
79  { symbol: ["std::size", "private", "<set>", "public"]},
80  { symbol: ["std::size", "private", "<span>", "public"]},
81  { symbol: ["std::size", "private", "<string>", "public"]},
82  { symbol: ["std::size", "private", "<string_view>", "public"]},
83  { symbol: ["std::size", "private", "<unordered_map>", "public"]},
84  { symbol: ["std::size", "private", "<unordered_set>", "public"]},
85  { symbol: ["std::size", "private", "<vector>", "public"]},
86
87  { symbol: ["int8_t", "private", "<cstdint>", "public"]},
88  { symbol: ["int16_t", "private", "<cstdint>", "public"]},
89  { symbol: ["int32_t", "private", "<cstdint>", "public"]},
90  { symbol: ["int64_t", "private", "<cstdint>", "public"]},
91  { symbol: ["uint8_t", "private", "<cstdint>", "public"]},
92  { symbol: ["uint16_t", "private", "<cstdint>", "public"]},
93  { symbol: ["uint32_t", "private", "<cstdint>", "public"]},
94  { symbol: ["uint64_t", "private", "<cstdint>", "public"]},
95
96  { include: ["<__stddef_max_align_t.h>", "private", "<cstddef>", "public"] },
97
98  { symbol: ["FILE", "private", "<cstdio>", "public"]},
99
100  { include: ["<__functional/binary_function.h>", "private", "<functional>", "public"] },
101  { include: ["<__functional/binary_negate.h>", "private", "<functional>", "public"] },
102  { include: ["<__functional/binder1st.h>", "private", "<functional>", "public"] },
103  { include: ["<__functional/binder2nd.h>", "private", "<functional>", "public"] },
104  { include: ["<__functional/bind_front.h>", "private", "<functional>", "public"] },
105  { include: ["<__functional/bind.h>", "private", "<functional>", "public"] },
106  { include: ["<__functional/default_searcher.h>", "private", "<functional>", "public"] },
107  { include: ["<__functional/function.h>", "private", "<functional>", "public"] },
108  { include: ["<__functional/hash.h>", "private", "<functional>", "public"] },
109  { include: ["<__functional/identity.h>", "private", "<functional>", "public"] },
110  { include: ["<__functional/invoke.h>", "private", "<functional>", "public"] },
111  { include: ["<__functional/is_transparent.h>", "private", "<functional>", "public"] },
112  { include: ["<__functional/mem_fn.h>", "private", "<functional>", "public"] },
113  { include: ["<__functional/mem_fun_ref.h>", "private", "<functional>", "public"] },
114  { include: ["<__functional/not_fn.h>", "private", "<functional>", "public"] },
115  { include: ["<__functional/operations.h>", "private", "<functional>", "public"] },
116  { include: ["<__functional/perfect_forward.h>", "private", "<functional>", "public"] },
117  { include: ["<__functional/pointer_to_binary_function.h>", "private", "<functional>", "public"] },
118  { include: ["<__functional/pointer_to_unary_function.h>", "private", "<functional>", "public"] },
119  { include: ["<__functional/ranges_operations.h>", "private", "<functional>", "public"] },
120  { include: ["<__functional/reference_wrapper.h>", "private", "<functional>", "public"] },
121  { include: ["<__functional/unary_function.h>", "private", "<functional>", "public"] },
122  { include: ["<__functional/unary_negate.h>", "private", "<functional>", "public"] },
123  { include: ["<__functional/unwrap_ref.h>", "private", "<functional>", "public"] },
124  { include: ["<__functional/weak_result_type.h>", "private", "<functional>", "public"] },
125
126  { include: ["<__iterator/access.h>", "private", "<iterator>", "public"] },
127  { include: ["<__iterator/advance.h>", "private", "<iterator>", "public"] },
128  { include: ["<__iterator/back_insert_iterator.h>", "private", "<iterator>", "public"] },
129  { include: ["<__iterator/bounded_iter.h>", "private", "<iterator>", "public"] },
130  { include: ["<__iterator/common_iterator.h>", "private", "<iterator>", "public"] },
131  { include: ["<__iterator/concepts.h>", "private", "<iterator>", "public"] },
132  { include: ["<__iterator/counted_iterator.h>", "private", "<iterator>", "public"] },
133  { include: ["<__iterator/data.h>", "private", "<iterator>", "public"] },
134  { include: ["<__iterator/default_sentinel.h>", "private", "<iterator>", "public"] },
135  { include: ["<__iterator/distance.h>", "private", "<iterator>", "public"] },
136  { include: ["<__iterator/empty.h>", "private", "<iterator>", "public"] },
137  { include: ["<__iterator/erase_if_container.h>", "private", "<iterator>", "public"] },
138  { include: ["<__iterator/front_insert_iterator.h>", "private", "<iterator>", "public"] },
139  { include: ["<__iterator/incrementable_traits.h>", "private", "<iterator>", "public"] },
140  { include: ["<__iterator/indirectly_comparable.h>", "private", "<iterator>", "public"] },
141  { include: ["<__iterator/insert_iterator.h>", "private", "<iterator>", "public"] },
142  { include: ["<__iterator/istreambuf_iterator.h>", "private", "<iterator>", "public"] },
143  { include: ["<__iterator/istream_iterator.h>", "private", "<iterator>", "public"] },
144  { include: ["<__iterator/iterator.h>", "private", "<iterator>", "public"] },
145  { include: ["<__iterator/iterator_traits.h>", "private", "<iterator>", "public"] },
146  { include: ["<__iterator/iter_move.h>", "private", "<iterator>", "public"] },
147  { include: ["<__iterator/iter_swap.h>", "private", "<iterator>", "public"] },
148  { include: ["<__iterator/mergeable.h>", "private", "<iterator>", "public"] },
149  { include: ["<__iterator/move_iterator.h>", "private", "<iterator>", "public"] },
150  { include: ["<__iterator/move_sentinel.h>", "private", "<iterator>", "public"] },
151  { include: ["<__iterator/next.h>", "private", "<iterator>", "public"] },
152  { include: ["<__iterator/ostreambuf_iterator.h>", "private", "<iterator>", "public"] },
153  { include: ["<__iterator/ostream_iterator.h>", "private", "<iterator>", "public"] },
154  { include: ["<__iterator/permutable.h>", "private", "<iterator>", "public"] },
155  { include: ["<__iterator/prev.h>", "private", "<iterator>", "public"] },
156  { include: ["<__iterator/projected.h>", "private", "<iterator>", "public"] },
157  { include: ["<__iterator/readable_traits.h>", "private", "<iterator>", "public"] },
158  { include: ["<__iterator/reverse_access.h>", "private", "<iterator>", "public"] },
159  { include: ["<__iterator/reverse_iterator.h>", "private", "<iterator>", "public"] },
160  { include: ["<__iterator/sortable.h>", "private", "<iterator>", "public"] },
161  { include: ["<__iterator/unreachable_sentinel.h>", "private", "<iterator>", "public"] },
162  { include: ["<__iterator/wrap_iter.h>", "private", "<iterator>", "public"] },
163
164  # The first of these is the preferred include, but the others are acceptable.
165  { include: ["<__iterator/size.h>", "private", "<array>", "public"] },
166  { include: ["<__iterator/size.h>", "private", "<deque>", "public"] },
167  { include: ["<__iterator/size.h>", "private", "<forward_list>", "public"] },
168  { include: ["<__iterator/size.h>", "private", "<iterator>", "public"] },
169  { include: ["<__iterator/size.h>", "private", "<list>", "public"] },
170  { include: ["<__iterator/size.h>", "private", "<map>", "public"] },
171  { include: ["<__iterator/size.h>", "private", "<regex>", "public"] },
172  { include: ["<__iterator/size.h>", "private", "<set>", "public"] },
173  { include: ["<__iterator/size.h>", "private", "<string>", "public"] },
174  { include: ["<__iterator/size.h>", "private", "<string_view>", "public"] },
175  { include: ["<__iterator/size.h>", "private", "<unordered_map>", "public"] },
176  { include: ["<__iterator/size.h>", "private", "<unordered_set>", "public"] },
177  { include: ["<__iterator/size.h>", "private", "<vector>", "public"] },
178
179  # std::size is available from all of these
180  { symbol: ["std::size", "private", "<iterator>", "public"] },
181  { symbol: ["std::size", "private", "<array>", "public"] },
182  { symbol: ["std::size", "private", "<deque>", "public"] },
183  { symbol: ["std::size", "private", "<forward_list>", "public"] },
184  { symbol: ["std::size", "private", "<list>", "public"] },
185  { symbol: ["std::size", "private", "<map>", "public"] },
186  { symbol: ["std::size", "private", "<regex>", "public"] },
187  { symbol: ["std::size", "private", "<set>", "public"] },
188  { symbol: ["std::size", "private", "<string>", "public"] },
189  { symbol: ["std::size", "private", "<string_view>", "public"] },
190  { symbol: ["std::size", "private", "<unordered_map>", "public"] },
191  { symbol: ["std::size", "private", "<unordered_set>", "public"] },
192  { symbol: ["std::size", "private", "<vector>", "public"] },
193
194  # std::data is available from all of these
195  { symbol: ["std::data", "private", "<iterator>", "public"] },
196  { symbol: ["std::data", "private", "<array>", "public"] },
197  { symbol: ["std::data", "private", "<deque>", "public"] },
198  { symbol: ["std::data", "private", "<forward_list>", "public"] },
199  { symbol: ["std::data", "private", "<list>", "public"] },
200  { symbol: ["std::data", "private", "<map>", "public"] },
201  { symbol: ["std::data", "private", "<regex>", "public"] },
202  { symbol: ["std::data", "private", "<set>", "public"] },
203  { symbol: ["std::data", "private", "<string>", "public"] },
204  { symbol: ["std::data", "private", "<string_view>", "public"] },
205  { symbol: ["std::data", "private", "<unordered_map>", "public"] },
206  { symbol: ["std::data", "private", "<unordered_set>", "public"] },
207  { symbol: ["std::data", "private", "<vector>", "public"] },
208
209  { include: ["<__locale>", "private", "<locale>", "public"] },
210
211  { include: ["<__numeric/accumulate.h>", "private", "<numeric>", "public"] },
212  { include: ["<__numeric/iota.h>", "private", "<numeric>", "public"] },
213
214  { include: ["<__memory/shared_ptr.h>", "private", "<memory>", "public"] },
215  { include: ["<__memory/unique_ptr.h>", "private", "<memory>", "public"] },
216
217  { include: ["<__random/random_device.h>", "private", "<random>", "public"] },
218
219  { include: ["<__tuple>", "private", "<tuple>", "public"] },
220
221  { include: ["<__tree>", "private", "<set>", "public"] },
222
223  { symbol: ["std::istringstream", "private", "<sstream>", "public"] },
224  { symbol: ["std::ostringstream", "private", "<sstream>", "public"] },
225  { symbol: ["std::stringstream", "private", "<sstream>", "public"] },
226  { symbol: ["std::stringbuf", "private", "<sstream>", "public"] },
227  { symbol: ["std::basic_istringstream", "private", "<sstream>", "public"] },
228  { symbol: ["std::basic_ostringstream", "private", "<sstream>", "public"] },
229  { symbol: ["std::basic_stringstream", "private", "<sstream>", "public"] },
230  { symbol: ["std::basic_stringbuf", "private", "<sstream>", "public"] },
231
232  { symbol: ["va_list", "private", "<stdarg.h>", "public"] },
233
234  { symbol: ["std::string", "private", "<string>", "public"] },
235
236  { include: ["<__fwd/string_view.h>", "private", "<string_view>", "public"] },
237
238  { include: ["<__hash_table>", "private", "<unordered_map>", "public"] },
239
240  { include: ["<__utility/as_const.h>", "private", "<utility>", "public"] },
241  { include: ["<__utility/cmp.h>", "private", "<utility>", "public"] },
242  { include: ["<__utility/__decay_copy.h>", "private", "<utility>", "public"] },
243  { include: ["<__utility/declval.h>", "private", "<utility>", "public"] },
244  { include: ["<__utility/exchange.h>", "private", "<utility>", "public"] },
245  { include: ["<__utility/forward.h>", "private", "<utility>", "public"] },
246  { include: ["<__utility/in_place.h>", "private", "<utility>", "public"] },
247  { include: ["<__utility/integer_sequence.h>", "private", "<utility>", "public"] },
248  { include: ["<__utility/move.h>", "private", "<utility>", "public"] },
249  { include: ["<__utility/pair.h>", "private", "<utility>", "public"] },
250  { include: ["<__utility/piecewise_construct.h>", "private", "<utility>", "public"] },
251  { include: ["<__utility/rel_ops.h>", "private", "<utility>", "public"] },
252  { include: ["<__utility/swap.h>", "private", "<utility>", "public"] },
253  { include: ["<__utility/to_underlying.h>", "private", "<utility>", "public"] },
254
255
256  { include: ["<__type_traits/add_const.h>", "private", "<type_traits>", "public"] },
257  { include: ["<__type_traits/add_cv.h>", "private", "<type_traits>", "public"] },
258  { include: ["<__type_traits/add_lvalue_reference.h>", "private", "<type_traits>", "public"] },
259  { include: ["<__type_traits/add_pointer.h>", "private", "<type_traits>", "public"] },
260  { include: ["<__type_traits/add_rvalue_reference.h>", "private", "<type_traits>", "public"] },
261  { include: ["<__type_traits/add_volatile.h>", "private", "<type_traits>", "public"] },
262  { include: ["<__type_traits/aligned_storage.h>", "private", "<type_traits>", "public"] },
263  { include: ["<__type_traits/aligned_union.h>", "private", "<type_traits>", "public"] },
264  { include: ["<__type_traits/alignment_of.h>", "private", "<type_traits>", "public"] },
265  { include: ["<__type_traits/apply_cv.h>", "private", "<type_traits>", "public"] },
266  { include: ["<__type_traits/common_reference.h>", "private", "<type_traits>", "public"] },
267  { include: ["<__type_traits/common_type.h>", "private", "<type_traits>", "public"] },
268  { include: ["<__type_traits/conditional.h>", "private", "<type_traits>", "public"] },
269  { include: ["<__type_traits/conjunction.h>", "private", "<type_traits>", "public"] },
270  { include: ["<__type_traits/copy_cv.h>", "private", "<type_traits>", "public"] },
271  { include: ["<__type_traits/copy_cvref.h>", "private", "<type_traits>", "public"] },
272  { include: ["<__type_traits/decay.h>", "private", "<type_traits>", "public"] },
273  { include: ["<__type_traits/disjunction.h>", "private", "<type_traits>", "public"] },
274  { include: ["<__type_traits/enable_if.h>", "private", "<type_traits>", "public"] },
275  { include: ["<__type_traits/extent.h>", "private", "<type_traits>", "public"] },
276  { include: ["<__type_traits/has_unique_object_representation.h>", "private", "<type_traits>", "public"] },
277  { include: ["<__type_traits/has_virtual_destructor.h>", "private", "<type_traits>", "public"] },
278  { include: ["<__type_traits/integral_constant.h>", "private", "<type_traits>", "public"] },
279  { include: ["<__type_traits/is_abstract.h>", "private", "<type_traits>", "public"] },
280  { include: ["<__type_traits/is_aggregate.h>", "private", "<type_traits>", "public"] },
281  { include: ["<__type_traits/is_arithmetic.h>", "private", "<type_traits>", "public"] },
282  { include: ["<__type_traits/is_array.h>", "private", "<type_traits>", "public"] },
283  { include: ["<__type_traits/is_assignable.h>", "private", "<type_traits>", "public"] },
284  { include: ["<__type_traits/is_base_of.h>", "private", "<type_traits>", "public"] },
285  { include: ["<__type_traits/is_bounded_array.h>", "private", "<type_traits>", "public"] },
286  { include: ["<__type_traits/is_callable.h>", "private", "<type_traits>", "public"] },
287  { include: ["<__type_traits/is_class.h>", "private", "<type_traits>", "public"] },
288  { include: ["<__type_traits/is_compound.h>", "private", "<type_traits>", "public"] },
289  { include: ["<__type_traits/is_constant_evaluated.h>", "private", "<type_traits>", "public"] },
290  { include: ["<__type_traits/is_const.h>", "private", "<type_traits>", "public"] },
291  { include: ["<__type_traits/is_constructible.h>", "private", "<type_traits>", "public"] },
292  { include: ["<__type_traits/is_convertible.h>", "private", "<type_traits>", "public"] },
293  { include: ["<__type_traits/is_copy_assignable.h>", "private", "<type_traits>", "public"] },
294  { include: ["<__type_traits/is_copy_constructible.h>", "private", "<type_traits>", "public"] },
295  { include: ["<__type_traits/is_core_convertible.h>", "private", "<type_traits>", "public"] },
296  { include: ["<__type_traits/is_default_constructible.h>", "private", "<type_traits>", "public"] },
297  { include: ["<__type_traits/is_destructible.h>", "private", "<type_traits>", "public"] },
298  { include: ["<__type_traits/is_empty.h>", "private", "<type_traits>", "public"] },
299  { include: ["<__type_traits/is_enum.h>", "private", "<type_traits>", "public"] },
300  { include: ["<__type_traits/is_final.h>", "private", "<type_traits>", "public"] },
301  { include: ["<__type_traits/is_floating_point.h>", "private", "<type_traits>", "public"] },
302  { include: ["<__type_traits/is_function.h>", "private", "<type_traits>", "public"] },
303  { include: ["<__type_traits/is_fundamental.h>", "private", "<type_traits>", "public"] },
304  { include: ["<__type_traits/is_integral.h>", "private", "<type_traits>", "public"] },
305  { include: ["<__type_traits/is_literal_type.h>", "private", "<type_traits>", "public"] },
306  { include: ["<__type_traits/is_member_function_pointer.h>", "private", "<type_traits>", "public"] },
307  { include: ["<__type_traits/is_member_object_pointer.h>", "private", "<type_traits>", "public"] },
308  { include: ["<__type_traits/is_member_pointer.h>", "private", "<type_traits>", "public"] },
309  { include: ["<__type_traits/is_move_assignable.h>", "private", "<type_traits>", "public"] },
310  { include: ["<__type_traits/is_move_constructible.h>", "private", "<type_traits>", "public"] },
311  { include: ["<__type_traits/is_nothrow_assignable.h>", "private", "<type_traits>", "public"] },
312  { include: ["<__type_traits/is_nothrow_constructible.h>", "private", "<type_traits>", "public"] },
313  { include: ["<__type_traits/is_nothrow_convertible.h>", "private", "<type_traits>", "public"] },
314  { include: ["<__type_traits/is_nothrow_copy_assignable.h>", "private", "<type_traits>", "public"] },
315  { include: ["<__type_traits/is_nothrow_copy_constructible.h>", "private", "<type_traits>", "public"] },
316  { include: ["<__type_traits/is_nothrow_default_constructible.h>", "private", "<type_traits>", "public"] },
317  { include: ["<__type_traits/is_nothrow_destructible.h>", "private", "<type_traits>", "public"] },
318  { include: ["<__type_traits/is_nothrow_move_assignable.h>", "private", "<type_traits>", "public"] },
319  { include: ["<__type_traits/is_nothrow_move_constructible.h>", "private", "<type_traits>", "public"] },
320  { include: ["<__type_traits/is_null_pointer.h>", "private", "<type_traits>", "public"] },
321  { include: ["<__type_traits/is_object.h>", "private", "<type_traits>", "public"] },
322  { include: ["<__type_traits/is_pod.h>", "private", "<type_traits>", "public"] },
323  { include: ["<__type_traits/is_pointer.h>", "private", "<type_traits>", "public"] },
324  { include: ["<__type_traits/is_polymorphic.h>", "private", "<type_traits>", "public"] },
325  { include: ["<__type_traits/is_primary_template.h>", "private", "<type_traits>", "public"] },
326  { include: ["<__type_traits/is_referenceable.h>", "private", "<type_traits>", "public"] },
327  { include: ["<__type_traits/is_reference.h>", "private", "<type_traits>", "public"] },
328  { include: ["<__type_traits/is_reference_wrapper.h>", "private", "<type_traits>", "public"] },
329  { include: ["<__type_traits/is_same.h>", "private", "<type_traits>", "public"] },
330  { include: ["<__type_traits/is_scalar.h>", "private", "<type_traits>", "public"] },
331  { include: ["<__type_traits/is_scoped_enum.h>", "private", "<type_traits>", "public"] },
332  { include: ["<__type_traits/is_signed.h>", "private", "<type_traits>", "public"] },
333  { include: ["<__type_traits/is_signed_integer.h>", "private", "<type_traits>", "public"] },
334  { include: ["<__type_traits/is_standard_layout.h>", "private", "<type_traits>", "public"] },
335  { include: ["<__type_traits/is_trivial.h>", "private", "<type_traits>", "public"] },
336  { include: ["<__type_traits/is_trivially_assignable.h>", "private", "<type_traits>", "public"] },
337  { include: ["<__type_traits/is_trivially_constructible.h>", "private", "<type_traits>", "public"] },
338  { include: ["<__type_traits/is_trivially_copyable.h>", "private", "<type_traits>", "public"] },
339  { include: ["<__type_traits/is_trivially_copy_assignable.h>", "private", "<type_traits>", "public"] },
340  { include: ["<__type_traits/is_trivially_copy_constructible.h>", "private", "<type_traits>", "public"] },
341  { include: ["<__type_traits/is_trivially_default_constructible.h>", "private", "<type_traits>", "public"] },
342  { include: ["<__type_traits/is_trivially_destructible.h>", "private", "<type_traits>", "public"] },
343  { include: ["<__type_traits/is_trivially_move_assignable.h>", "private", "<type_traits>", "public"] },
344  { include: ["<__type_traits/is_trivially_move_constructible.h>", "private", "<type_traits>", "public"] },
345  { include: ["<__type_traits/is_unbounded_array.h>", "private", "<type_traits>", "public"] },
346  { include: ["<__type_traits/is_union.h>", "private", "<type_traits>", "public"] },
347  { include: ["<__type_traits/is_unsigned.h>", "private", "<type_traits>", "public"] },
348  { include: ["<__type_traits/is_unsigned_integer.h>", "private", "<type_traits>", "public"] },
349  { include: ["<__type_traits/is_valid_expansion.h>", "private", "<type_traits>", "public"] },
350  { include: ["<__type_traits/is_void.h>", "private", "<type_traits>", "public"] },
351  { include: ["<__type_traits/is_volatile.h>", "private", "<type_traits>", "public"] },
352  { include: ["<__type_traits/lazy.h>", "private", "<type_traits>", "public"] },
353  { include: ["<__type_traits/make_32_64_or_128_bit.h>", "private", "<type_traits>", "public"] },
354  { include: ["<__type_traits/make_signed.h>", "private", "<type_traits>", "public"] },
355  { include: ["<__type_traits/make_unsigned.h>", "private", "<type_traits>", "public"] },
356  { include: ["<__type_traits/nat.h>", "private", "<type_traits>", "public"] },
357  { include: ["<__type_traits/negation.h>", "private", "<type_traits>", "public"] },
358  { include: ["<__type_traits/promote.h>", "private", "<type_traits>", "public"] },
359  { include: ["<__type_traits/rank.h>", "private", "<type_traits>", "public"] },
360  { include: ["<__type_traits/remove_all_extents.h>", "private", "<type_traits>", "public"] },
361  { include: ["<__type_traits/remove_const.h>", "private", "<type_traits>", "public"] },
362  { include: ["<__type_traits/remove_cv.h>", "private", "<type_traits>", "public"] },
363  { include: ["<__type_traits/remove_cvref.h>", "private", "<type_traits>", "public"] },
364  { include: ["<__type_traits/remove_extent.h>", "private", "<type_traits>", "public"] },
365  { include: ["<__type_traits/remove_pointer.h>", "private", "<type_traits>", "public"] },
366  { include: ["<__type_traits/remove_reference.h>", "private", "<type_traits>", "public"] },
367  { include: ["<__type_traits/remove_volatile.h>", "private", "<type_traits>", "public"] },
368  { include: ["<__type_traits/type_identity.h>", "private", "<type_traits>", "public"] },
369  { include: ["<__type_traits/type_list.h>", "private", "<type_traits>", "public"] },
370  { include: ["<__type_traits/underlying_type.h>", "private", "<type_traits>", "public"] },
371  { include: ["<__type_traits/void_t.h>", "private", "<type_traits>", "public"] },
372
373  { include: ["<__variant/monostate.h>", "private", "<variant>", "public"] },
374
375  { symbol: ["std::__bit_reference", "private", "<vector>", "public"] },
376  { include: ["<__bit_reference>", "private",  "<vector>", "public"] },
377
378  { include: ["<scripts/pnglibconf.h.prebuilt>", "private", "<pngconf.h>", "public"] },
379
380  # Without these, IWYU won't accept the C++ wrappers and throws
381  # a mysterious "cyclical import" error.
382  # https://github.com/include-what-you-use/include-what-you-use/blob/4c0f39615982c57a9cb313c971c6f45fca1cc1fe/iwyu_include_picker.cc#L573
383  { include: ["<assert.h>", "public", "<cassert>", "public"] },
384  { include: ["<complex.h>", "public", "<ccomplex>", "public"] },
385  { include: ["<ctype.h>", "public", "<cctype>", "public"] },
386  { include: ["<errno.h>", "public", "<cerrno>", "public"] },
387  { include: ["<fenv.h>", "public", "<cfenv>", "public"] },
388  { include: ["<float.h>", "public", "<cfloat>", "public"] },
389  { include: ["<inttypes.h>", "public", "<cinttypes>", "public"] },
390  { include: ["<iso646.h>", "public", "<ciso646>", "public"] },
391  { include: ["<limits.h>", "public", "<climits>", "public"] },
392  { include: ["<locale.h>", "public", "<clocale>", "public"] },
393  { include: ["<math.h>", "public", "<cmath>", "public"] },
394  { include: ["<setjmp.h>", "public", "<csetjmp>", "public"] },
395  { include: ["<signal.h>", "public", "<csignal>", "public"] },
396  { include: ["<stdalign.h>", "public", "<cstdalign>", "public"] },
397  { include: ["<stdarg.h>", "public", "<cstdarg>", "public"] },
398  { include: ["<stdbool.h>", "public", "<cstdbool>", "public"] },
399  { include: ["<stddef.h>", "public", "<cstddef>", "public"] },
400  { include: ["<stdint.h>", "public", "<cstdint>", "public"] },
401  { include: ["<stdio.h>", "public", "<cstdio>", "public"] },
402  { include: ["<stdlib.h>", "public", "<cstdlib>", "public"] },
403  { include: ["<string.h>", "public", "<cstring>", "public"] },
404  { include: ["<tgmath.h>", "public", "<ctgmath>", "public"] },
405  { include: ["<time.h>", "public", "<ctime>", "public"] },
406  { include: ["<uchar.h>", "public", "<cuchar>", "public"] },
407  { include: ["<wchar.h>", "public", "<cwchar>", "public"] },
408  { include: ["<wctype.h>", "public", "<cwctype>", "public"] },
409
410  # From https://github.com/include-what-you-use/include-what-you-use/blob/4c0f39615982c57a9cb313c971c6f45fca1cc1fe/iwyu_include_picker.cc#L327
411  { symbol: ["std::allocator", "private", "<memory>", "public"] },
412  { symbol: ["std::allocator", "private", "<string>", "public"] },
413  { symbol: ["std::allocator", "private", "<vector>", "public"] },
414  { symbol: ["std::allocator", "private", "<map>", "public"] },
415  { symbol: ["std::allocator", "private", "<set>", "public"] },
416  { symbol: ["std::char_traits", "private", "<string>", "public"] },
417  { symbol: ["std::char_traits", "private", "<ostream>", "public"] },
418  { symbol: ["std::char_traits", "private", "<istream>", "public"] },
419
420  { symbol: ["std::time_t", "private", "<ctime>", "public"] },
421  { symbol: ["time_t", "private", "<ctime>", "public"] },
422  { symbol: ["tm", "private", "<ctime>", "public"] },
423
424  # We are pretty forgiving with iostream headers. If we specify
425  # any of them, that is generally sufficient.
426  # https://github.com/include-what-you-use/include-what-you-use/blob/4c0f39615982c57a9cb313c971c6f45fca1cc1fe/iwyu_include_picker.cc#L995
427  {include: ["<ios>", "public", "<istream>", "public"] },
428  {include: ["<ios>", "public", "<ostream>", "public"] },
429  {include: ["<iosfwd>", "public", "<ios>", "public"] },
430  {include: ["<iosfwd>", "public", "<streambuf>", "public"] },
431  {include: ["<istream>", "public", "<fstream>", "public"] },
432  {include: ["<istream>", "public", "<iostream>", "public"] },
433  {include: ["<istream>", "public", "<sstream>", "public"] },
434  {include: ["<ostream>", "public", "<fstream>", "public"] },
435  {include: ["<ostream>", "public", "<iostream>", "public"] },
436  {include: ["<ostream>", "public", "<istream>", "public"] },
437  {include: ["<ostream>", "public", "<sstream>", "public"] },
438  {include: ["<streambuf>", "public", "<ios>", "public"] },
439
440  { symbol: ["inflate", "private", "\"zlib.h\"", "public"] },
441  { symbol: ["inflateEnd", "private", "\"zlib.h\"", "public"] },
442
443  { include: ["<asm/errno-base.h>", "private", "<errno.h>", "public"] },
444
445  # Pretend SK_DEBUG is defined in SkDebug.h
446  { symbol: ["SK_DEBUG", "private", "\"include/private/base/SkDebug.h\"", "public"] },
447  { symbol: ["SK_DEBUG", "private", "\"include/private/base/SkLoadUserConfig.h\"", "public"] },
448
449  # Pretend SK_GANESH is defined in any of these
450  { symbol: ["SK_GANESH", "private", "\"include/private/base/SkLoadUserConfig.h\"", "public"] },
451  { symbol: ["SK_GANESH", "private", "\"include/core/SkTypes.h\"", "public"] },
452
453  { symbol: ["SkScalar", "private", "\"include/core/SkScalar.h\"", "public"] },
454
455  # The TRACE_EVENT macros use std::atomic, but TraceEvent.h already includes <atomic> alongside
456  # the macros themselves; IWYU just can't see through the preprocessor.
457  { symbol: ["std::atomic", "private", "<atomic>", "public"] },
458  { symbol: ["std::atomic", "private", "\"src/core/SkTraceEvent.h\"", "public"] },
459
460  # IWYU seems to get confused on where the namespace sktext is "defined". Any files in
461  # this list are ok.
462  { symbol: ["sktext", "private", "\"src/text/StrikeForGPU.h\"", "public"] },
463  { symbol: ["sktext", "private", "\"src/text/GlyphRun.h\"", "public"] },
464
465  # IWYU gets confused where namespace skia_private is "defined". Start a list, but figure
466  # out if this can be done with a glob.
467  { symbol: ["skia_private", "private", "\"include/private/base/SkTemplates.h\"", "public"] },
468  { symbol: ["skia_private", "private", "\"include/private/base/SkTArray.h\"", "public"] },
469  { symbol: ["skia_private", "private", "\"src/core/SkTHash.h\"", "public"] },
470  { symbol: ["skia_private", "private", "\"src/core/SkTraceEvent.h\"", "public"] },
471
472  { include: ["\"modules/skcms/src/skcms_public.h\"", "private", "\"modules/skcms/skcms.h\"", "public"] },
473
474  { include: ["\"jmorecfg.h\"", "private", "\"jpeglib.h\"", "public"] },
475
476  { include: ["\"chromeconf.h\"", "private", "\"zlib.h\"", "public"] },
477]
478