blob: 93eddc6ae15d671d203a3e12f1cd4dfb50684da1 [file] [log] [blame]
[
{ 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"] }
]