| [ |
| { include: ["<__algorithm/all_of.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/any_of.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/copy.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/copy_n.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/count.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/equal_range.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/equal.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/find.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/fill.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/fill_n.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/lower_bound.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/max.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/min.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/move.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/remove_if.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/search.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/sort.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/stable_sort.h>", "private", "<algorithm>", "public"] }, |
| { include: ["<__algorithm/upper_bound.h>", "private", "<algorithm>", "public"] }, |
| |
| { symbol: ["std::swap", "private", "<algorithm>", "public"] }, |
| { symbol: ["std::swap", "private", "<utility>", "public"] }, |
| { symbol: ["std::swap", "private", "<string_view>", "public"] }, |
| |
| { include: ["<__chrono/duration.h>", "private", "<chrono>", "public"] }, |
| { include: ["<__chrono/steady_clock.h>", "private", "<chrono>", "public"] }, |
| { include: ["<__chrono/time_point.h>", "private", "<chrono>", "public"] }, |
| |
| { symbol: ["INT32_MAX", "private", "<climits>", "public"]}, |
| |
| { symbol: ["abs", "private", "<cmath>", "public"]}, |
| { symbol: ["fabs", "private", "<cmath>", "public"]}, |
| { symbol: ["sqrt", "private", "<cmath>", "public"]}, |
| |
| { symbol: ["std::abs", "private", "<cmath>", "public"]}, |
| { symbol: ["std::abs", "private", "<cstdlib>", "public"]}, |
| |
| # Prefer cstring over string.h for memcpy and memcmp. |
| { symbol: ["memcpy", "private", "<cstring>", "public"]}, |
| { symbol: ["memcmp", "private", "<cstring>", "public"]}, |
| { symbol: ["std::memcpy", "private", "<cstring>", "public"]}, |
| { symbol: ["std::memcmp", "private", "<cstring>", "public"]}, |
| |
| # The first of these is the preferred include, but the others are acceptable. |
| { symbol: ["size_t", "private", "<cstddef>", "public"]}, |
| { symbol: ["size_t", "private", "<cstdio>", "public"]}, |
| { symbol: ["size_t", "private", "<cstdlib>", "public"]}, |
| { symbol: ["size_t", "private", "<cstring>", "public"]}, |
| { symbol: ["size_t", "private", "<ctime>", "public"]}, |
| { symbol: ["size_t", "private", "<cuchar>", "public"]}, |
| { symbol: ["size_t", "private", "<cwchar>", "public"]}, |
| |
| { symbol: ["std::size_t", "private", "<cstddef>", "public"]}, |
| { symbol: ["std::size_t", "private", "<cstdio>", "public"]}, |
| { symbol: ["std::size_t", "private", "<cstdlib>", "public"]}, |
| { symbol: ["std::size_t", "private", "<cstring>", "public"]}, |
| { symbol: ["std::size_t", "private", "<ctime>", "public"]}, |
| { symbol: ["std::size_t", "private", "<cuchar>", "public"]}, |
| { symbol: ["std::size_t", "private", "<cwchar>", "public"]}, |
| |
| { symbol: ["int8_t", "private", "<cstdint>", "public"]}, |
| { symbol: ["int16_t", "private", "<cstdint>", "public"]}, |
| { symbol: ["int32_t", "private", "<cstdint>", "public"]}, |
| { symbol: ["int64_t", "private", "<cstdint>", "public"]}, |
| { symbol: ["uint8_t", "private", "<cstdint>", "public"]}, |
| { symbol: ["uint16_t", "private", "<cstdint>", "public"]}, |
| { symbol: ["uint32_t", "private", "<cstdint>", "public"]}, |
| { symbol: ["uint64_t", "private", "<cstdint>", "public"]}, |
| |
| |
| { symbol: ["FILE", "private", "<cstdio>", "public"]}, |
| |
| { include: ["<__functional/function.h>", "private", "<functional>", "public"] }, |
| |
| { include: ["<__iterator/access.h>", "private", "<iterator>", "public"] }, |
| { include: ["<__iterator/back_insert_iterator.h>", "private", "<iterator>", "public"] }, |
| { include: ["<__iterator/data.h>", "private", "<iterator>", "public"] }, |
| { include: ["<__iterator/distance.h>", "private", "<iterator>", "public"] }, |
| { include: ["<__iterator/reverse_iterator.h>", "private", "<iterator>", "public"] }, |
| |
| # The first of these is the preferred include, but the others are acceptable. |
| { include: ["<__iterator/size.h>", "private", "<array>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<deque>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<forward_list>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<iterator>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<list>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<map>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<regex>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<set>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<string>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<string_view>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<unordered_map>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<unordered_set>", "public"] }, |
| { include: ["<__iterator/size.h>", "private", "<vector>", "public"] }, |
| |
| # std::size is available from all of these |
| { symbol: ["std::size", "private", "<iterator>", "public"] }, |
| { symbol: ["std::size", "private", "<array>", "public"] }, |
| { symbol: ["std::size", "private", "<deque>", "public"] }, |
| { symbol: ["std::size", "private", "<forward_list>", "public"] }, |
| { symbol: ["std::size", "private", "<list>", "public"] }, |
| { symbol: ["std::size", "private", "<map>", "public"] }, |
| { symbol: ["std::size", "private", "<regex>", "public"] }, |
| { symbol: ["std::size", "private", "<set>", "public"] }, |
| { symbol: ["std::size", "private", "<string>", "public"] }, |
| { symbol: ["std::size", "private", "<string_view>", "public"] }, |
| { symbol: ["std::size", "private", "<unordered_map>", "public"] }, |
| { symbol: ["std::size", "private", "<unordered_set>", "public"] }, |
| { symbol: ["std::size", "private", "<vector>", "public"] }, |
| |
| { include: ["<__locale>", "private", "<locale>", "public"] }, |
| |
| { include: ["<__numeric/accumulate.h>", "private", "<numeric>", "public"] }, |
| |
| { include: ["<__memory/shared_ptr.h>", "private", "<memory>", "public"] }, |
| { include: ["<__memory/unique_ptr.h>", "private", "<memory>", "public"] }, |
| |
| { include: ["<__random/random_device.h>", "private", "<random>", "public"] }, |
| |
| { include: ["<__tuple>", "private", "<tuple>", "public"] }, |
| |
| { include: ["<__tree>", "private", "<set>", "public"] }, |
| |
| { symbol: ["std::istringstream", "private", "<sstream>", "public"] }, |
| { symbol: ["std::ostringstream", "private", "<sstream>", "public"] }, |
| { symbol: ["std::stringstream", "private", "<sstream>", "public"] }, |
| { symbol: ["std::stringbuf", "private", "<sstream>", "public"] }, |
| { symbol: ["std::basic_istringstream", "private", "<sstream>", "public"] }, |
| { symbol: ["std::basic_ostringstream", "private", "<sstream>", "public"] }, |
| { symbol: ["std::basic_stringstream", "private", "<sstream>", "public"] }, |
| { symbol: ["std::basic_stringbuf", "private", "<sstream>", "public"] }, |
| |
| { symbol: ["va_list", "private", "<stdarg.h>", "public"] }, |
| |
| { symbol: ["std::string", "private", "<string>", "public"] }, |
| |
| { include: ["<__fwd/string_view.h>", "private", "<string_view>", "public"] }, |
| |
| { include: ["<__hash_table>", "private", "<unordered_map>", "public"] }, |
| |
| { include: ["<__utility/declval.h>", "private", "<utility>", "public"] }, |
| { include: ["<__utility/exchange.h>", "private", "<utility>", "public"] }, |
| { include: ["<__utility/forward.h>", "private", "<utility>", "public"] }, |
| { include: ["<__utility/integer_sequence.h>", "private", "<utility>", "public"] }, |
| { include: ["<__utility/move.h>", "private", "<utility>", "public"] }, |
| { include: ["<__utility/pair.h>", "private", "<utility>", "public"] }, |
| { include: ["<__utility/swap.h>", "private", "<utility>", "public"] }, |
| |
| { include: ["<__type_traits/add_const.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/add_volatile.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/conditional.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/disjunction.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/enable_if.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/integral_constant.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_const.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_convertible.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_enum.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_integral.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_signed.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_trivially_copyable.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_trivially_default_constructible.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_trivially_destructible.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_unsigned.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/is_volatile.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/remove_const.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/remove_cv.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/remove_extent.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/remove_pointer.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/remove_volatile.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/underlying_type.h>", "private", "<type_traits>", "public"] }, |
| { include: ["<__type_traits/void_t.h>", "private", "<type_traits>", "public"] }, |
| |
| { symbol: ["std::__bit_reference", "private", "<vector>", "public"] }, |
| { include: ["<__bit_reference>", "private", "<vector>", "public"] }, |
| |
| { include: ["<scripts/pnglibconf.h.prebuilt>", "private", "<pngconf.h>", "public"] }, |
| |
| # Without these, IWYU won't accept the C++ wrappers and throws |
| # a mysterious "cyclical import" error. |
| # https://github.com/include-what-you-use/include-what-you-use/blob/4c0f39615982c57a9cb313c971c6f45fca1cc1fe/iwyu_include_picker.cc#L573 |
| { include: ["<assert.h>", "public", "<cassert>", "public"] }, |
| { include: ["<complex.h>", "public", "<ccomplex>", "public"] }, |
| { include: ["<ctype.h>", "public", "<cctype>", "public"] }, |
| { include: ["<errno.h>", "public", "<cerrno>", "public"] }, |
| { include: ["<fenv.h>", "public", "<cfenv>", "public"] }, |
| { include: ["<float.h>", "public", "<cfloat>", "public"] }, |
| { include: ["<inttypes.h>", "public", "<cinttypes>", "public"] }, |
| { include: ["<iso646.h>", "public", "<ciso646>", "public"] }, |
| { include: ["<limits.h>", "public", "<climits>", "public"] }, |
| { include: ["<locale.h>", "public", "<clocale>", "public"] }, |
| { include: ["<math.h>", "public", "<cmath>", "public"] }, |
| { include: ["<setjmp.h>", "public", "<csetjmp>", "public"] }, |
| { include: ["<signal.h>", "public", "<csignal>", "public"] }, |
| { include: ["<stdalign.h>", "public", "<cstdalign>", "public"] }, |
| { include: ["<stdarg.h>", "public", "<cstdarg>", "public"] }, |
| { include: ["<stdbool.h>", "public", "<cstdbool>", "public"] }, |
| { include: ["<stddef.h>", "public", "<cstddef>", "public"] }, |
| { include: ["<stdint.h>", "public", "<cstdint>", "public"] }, |
| { include: ["<stdio.h>", "public", "<cstdio>", "public"] }, |
| { include: ["<stdlib.h>", "public", "<cstdlib>", "public"] }, |
| { include: ["<string.h>", "public", "<string>", "public"] }, |
| { include: ["<string.h>", "public", "<cstring>", "public"] }, |
| { include: ["<tgmath.h>", "public", "<ctgmath>", "public"] }, |
| { include: ["<time.h>", "public", "<ctime>", "public"] }, |
| { include: ["<uchar.h>", "public", "<cuchar>", "public"] }, |
| { include: ["<wchar.h>", "public", "<cwchar>", "public"] }, |
| { include: ["<wctype.h>", "public", "<cwctype>", "public"] }, |
| |
| # From https://github.com/include-what-you-use/include-what-you-use/blob/4c0f39615982c57a9cb313c971c6f45fca1cc1fe/iwyu_include_picker.cc#L327 |
| { symbol: ["std::allocator", "private", "<memory>", "public"] }, |
| { symbol: ["std::allocator", "private", "<string>", "public"] }, |
| { symbol: ["std::allocator", "private", "<vector>", "public"] }, |
| { symbol: ["std::allocator", "private", "<map>", "public"] }, |
| { symbol: ["std::allocator", "private", "<set>", "public"] }, |
| { symbol: ["std::char_traits", "private", "<string>", "public"] }, |
| { symbol: ["std::char_traits", "private", "<ostream>", "public"] }, |
| { symbol: ["std::char_traits", "private", "<istream>", "public"] }, |
| |
| { symbol: ["std::time_t", "private", "<ctime>", "public"] }, |
| { symbol: ["time_t", "private", "<ctime>", "public"] }, |
| |
| # We are pretty forgiving with iostream headers. If we specify |
| # any of them, that is generally sufficient. |
| # https://github.com/include-what-you-use/include-what-you-use/blob/4c0f39615982c57a9cb313c971c6f45fca1cc1fe/iwyu_include_picker.cc#L995 |
| {include: ["<ios>", "public", "<istream>", "public"] }, |
| {include: ["<ios>", "public", "<ostream>", "public"] }, |
| {include: ["<iosfwd>", "public", "<ios>", "public"] }, |
| {include: ["<iosfwd>", "public", "<streambuf>", "public"] }, |
| {include: ["<istream>", "public", "<fstream>", "public"] }, |
| {include: ["<istream>", "public", "<iostream>", "public"] }, |
| {include: ["<istream>", "public", "<sstream>", "public"] }, |
| {include: ["<ostream>", "public", "<fstream>", "public"] }, |
| {include: ["<ostream>", "public", "<iostream>", "public"] }, |
| {include: ["<ostream>", "public", "<istream>", "public"] }, |
| {include: ["<ostream>", "public", "<sstream>", "public"] }, |
| {include: ["<streambuf>", "public", "<ios>", "public"] }, |
| |
| { symbol: ["inflate", "private", "\"zlib.h\"", "public"] }, |
| { symbol: ["inflateEnd", "private", "\"zlib.h\"", "public"] }, |
| |
| # IWYU seems to get confused on where the namespace sktext is "defined". Any files in |
| # this list are ok. |
| { symbol: ["sktext", "private", "\"src/text/StrikeForGPU.h\"", "public"] }, |
| { symbol: ["sktext", "private", "\"src/text/GlyphRun.h\"", "public"] } |
| ] |