# include-what-you-use mapping file for CLI11. # # Both standard libraries make IWYU ask for a header that CLI11 must not # include: libc++ (macOS) exposes private detail headers, libstdc++ (Linux) # exposes the C headers behind . Name the C++ header instead. # # Prefer a symbol entry. An include entry only takes effect when the left side # is private, and declaring a real C header private makes IWYU abort with a # "same file seen with two different visibilities" assertion. [ { symbol: ["abs", private, "", public] }, { symbol: ["errno", private, "", public] }, { symbol: ["getenv", private, "", public] }, { symbol: ["isprint", private, "", public] }, { symbol: ["strlen", private, "", public] }, { symbol: ["wcslen", private, "", public] }, # libc++ detail headers. These are private, so an include entry works and # covers every symbol at once. { include: ["<_ctype.h>", private, "", public] }, { include: ["<_stdlib.h>", private, "", public] }, { include: ["<_string.h>", private, "", public] }, { include: ["<_wchar.h>", private, "", public] }, { include: ["<__locale>", private, "", public] }, ]