Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add IWYU pragmas #1008

Merged
merged 5 commits into from
Mar 20, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add IWYU comments.
gostefan committed Feb 18, 2024
commit 7e117c57526eaf976b6551c8a87b9a43bf6f2570
4 changes: 3 additions & 1 deletion include/CLI/App.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <algorithm>
#include <cstdint>
@@ -1437,5 +1439,5 @@ struct AppFriend {
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/App_inl.hpp"
#include "impl/App_inl.hpp" // IWYU pragma: export
#endif
4 changes: 3 additions & 1 deletion include/CLI/Argv.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <string>
#include <vector>
@@ -25,5 +27,5 @@ CLI11_INLINE std::vector<std::string> compute_win32_argv();
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/Argv_inl.hpp"
#include "impl/Argv_inl.hpp" // IWYU pragma: export
#endif
4 changes: 4 additions & 0 deletions include/CLI/CLI.hpp
Original file line number Diff line number Diff line change
@@ -9,6 +9,8 @@
// CLI Library includes
// Order is important for combiner script

// IWYU pragma: begin_exports

#include "Version.hpp"

#include "Macros.hpp"
@@ -38,3 +40,5 @@
#include "Config.hpp"

#include "Formatter.hpp"

// IWYU pragma: end_exports
4 changes: 3 additions & 1 deletion include/CLI/Config.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <algorithm>
#include <cctype>
@@ -49,5 +51,5 @@ void checkParentSegments(std::vector<ConfigItem> &output, const std::string &cur
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/Config_inl.hpp"
#include "impl/Config_inl.hpp" // IWYU pragma: export
#endif
2 changes: 2 additions & 0 deletions include/CLI/ConfigFwd.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <algorithm>
#include <fstream>
4 changes: 3 additions & 1 deletion include/CLI/Encoding.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

#include <CLI/Macros.hpp>

// [CLI11:public_includes:set]
@@ -50,5 +52,5 @@ CLI11_INLINE std::filesystem::path to_path(std::string_view str);
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/Encoding_inl.hpp"
#include "impl/Encoding_inl.hpp" // IWYU pragma: export
#endif
2 changes: 2 additions & 0 deletions include/CLI/Error.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <exception>
#include <stdexcept>
4 changes: 3 additions & 1 deletion include/CLI/Formatter.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <algorithm>
#include <string>
@@ -21,5 +23,5 @@ namespace CLI {
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/Formatter_inl.hpp"
#include "impl/Formatter_inl.hpp" // IWYU pragma: export
#endif
2 changes: 2 additions & 0 deletions include/CLI/FormatterFwd.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <functional>
#include <map>
2 changes: 2 additions & 0 deletions include/CLI/Macros.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:macros_hpp:verbatim]

// The following version macro is very similar to the one in pybind11
4 changes: 3 additions & 1 deletion include/CLI/Option.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <algorithm>
#include <functional>
@@ -804,5 +806,5 @@ class Option : public OptionBase<Option> {
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/Option_inl.hpp"
#include "impl/Option_inl.hpp" // IWYU pragma: export
#endif
4 changes: 3 additions & 1 deletion include/CLI/Split.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <string>
#include <tuple>
@@ -44,5 +46,5 @@ get_names(const std::vector<std::string> &input);
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/Split_inl.hpp"
#include "impl/Split_inl.hpp" // IWYU pragma: export
#endif
4 changes: 3 additions & 1 deletion include/CLI/StringTools.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <algorithm>
#include <iomanip>
@@ -263,5 +265,5 @@ CLI11_INLINE bool process_quoted_string(std::string &str, char string_char = '\"
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/StringTools_inl.hpp"
#include "impl/StringTools_inl.hpp" // IWYU pragma: export
#endif
2 changes: 2 additions & 0 deletions include/CLI/Timer.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// On GCC < 4.8, the following define is often missing. Due to the
// fact that this library only uses sleep_for, this should be safe
#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 5 && __GNUC_MINOR__ < 8
2 changes: 2 additions & 0 deletions include/CLI/TypeTools.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:public_includes:set]
#include <algorithm>
#include <cmath>
4 changes: 3 additions & 1 deletion include/CLI/Validators.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

#include "Error.hpp"
#include "Macros.hpp"
#include "StringTools.hpp"
@@ -892,5 +894,5 @@ CLI11_INLINE std::pair<std::string, std::string> split_program_name(std::string
} // namespace CLI

#ifndef CLI11_COMPILE
#include "impl/Validators_inl.hpp"
#include "impl/Validators_inl.hpp" // IWYU pragma: export
#endif
2 changes: 2 additions & 0 deletions include/CLI/Version.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// [CLI11:version_hpp:verbatim]

#define CLI11_VERSION_MAJOR 2
2 changes: 2 additions & 0 deletions include/CLI/impl/App_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// This include is only needed for IDEs to discover symbols
#include <CLI/App.hpp>

2 changes: 2 additions & 0 deletions include/CLI/impl/Argv_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// This include is only needed for IDEs to discover symbols
#include <CLI/Argv.hpp>

2 changes: 2 additions & 0 deletions include/CLI/impl/Config_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// This include is only needed for IDEs to discover symbols
#include <CLI/Config.hpp>

2 changes: 2 additions & 0 deletions include/CLI/impl/Encoding_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// This include is only needed for IDEs to discover symbols
#include <CLI/Encoding.hpp>
#include <CLI/Macros.hpp>
2 changes: 2 additions & 0 deletions include/CLI/impl/Formatter_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// This include is only needed for IDEs to discover symbols
#include <CLI/Formatter.hpp>

2 changes: 2 additions & 0 deletions include/CLI/impl/Option_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// This include is only needed for IDEs to discover symbols
#include <CLI/Option.hpp>

2 changes: 2 additions & 0 deletions include/CLI/impl/Split_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// This include is only needed for IDEs to discover symbols
#include <CLI/Split.hpp>

2 changes: 2 additions & 0 deletions include/CLI/impl/StringTools_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

// This include is only needed for IDEs to discover symbols
#include <CLI/StringTools.hpp>

2 changes: 2 additions & 0 deletions include/CLI/impl/Validators_inl.hpp
Original file line number Diff line number Diff line change
@@ -6,6 +6,8 @@

#pragma once

// IWYU pragma: private, include "CLI/CLI.hpp"

#include <CLI/Validators.hpp>

#include <CLI/Encoding.hpp>
4 changes: 4 additions & 0 deletions src/Precompile.cpp
Original file line number Diff line number Diff line change
@@ -4,6 +4,8 @@
//
// SPDX-License-Identifier: BSD-3-Clause

// IWYU pragma: begin_keep

#include <CLI/impl/App_inl.hpp>
#include <CLI/impl/Argv_inl.hpp>
#include <CLI/impl/Config_inl.hpp>
@@ -13,3 +15,5 @@
#include <CLI/impl/Split_inl.hpp>
#include <CLI/impl/StringTools_inl.hpp>
#include <CLI/impl/Validators_inl.hpp>

// IWYU pragma: end_keep