0
0
mirror of https://github.com/jbeder/yaml-cpp.git synced 2026-01-18 17:21:29 +01:00

Add IWYU export pragmas.

If a project is using the facade-header yaml-cpp/yaml.h it might
get `misc-include-cleaner` warnings from the `clangd` language server
and `clang-tidy` that this header is not providing directly the symbols used.

The annotation with IWYU pragmas fixes that and tells the tools that it should consider
all the includes as if they directly provided the symbol

Documentation clangd and clang-tidy
https://clang.llvm.org/extra/clang-tidy/checks/misc/include-cleaner.html points to
https://clangd.llvm.org/design/include-cleaner#iwyu-pragmas

This has been first implemented and docuemnted in the include-what-you-use project
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md#iwyu-pragma-begin_exportsend_exports

Signed-off-by: Henner Zeller <h.zeller@acm.org>
This commit is contained in:
Henner Zeller
2025-10-24 15:25:42 +02:00
committed by Jesse Beder
parent 3738976bdc
commit 89ff142b99

View File

@@ -7,6 +7,8 @@
#pragma once
#endif
// IWYU pragma: begin_exports
#include "yaml-cpp/parser.h"
#include "yaml-cpp/emitter.h"
#include "yaml-cpp/emitterstyle.h"
@@ -21,4 +23,6 @@
#include "yaml-cpp/node/parse.h"
#include "yaml-cpp/node/emit.h"
// IWYU pragma: end_exports
#endif // YAML_H_62B23520_7C8E_11DE_8A39_0800200C9A66