From cf4caeffe5e18dfa0c0078974664679b896d76e4 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sat, 25 Sep 2021 16:19:03 +0100 Subject: Add stub header for all header only files --- Jamroot.jam | 1 + iwyu.json | 24 +++++++++++++++++++ libadhocutil/boost-test-extra.cpp | 1 + libadhocutil/c++11Helpers.cpp | 1 + libadhocutil/cache.cpp | 1 + libadhocutil/cache.h | 2 ++ libadhocutil/cache.impl.cpp | 1 + libadhocutil/cache.impl.h | 6 +++-- libadhocutil/case_less.cpp | 4 ++++ libadhocutil/compileTimeFormatter.cpp | 1 + libadhocutil/compileTimeFormatter.h | 22 ++++++++++-------- libadhocutil/ctf-impl/printf-compat.cpp | 1 + libadhocutil/ctf-impl/printf-compat.h | 1 + libadhocutil/exception.cpp | 1 + libadhocutil/factory.cpp | 1 + libadhocutil/factory.h | 2 ++ libadhocutil/factory.impl.cpp | 1 + libadhocutil/factory.impl.h | 2 ++ libadhocutil/globalStatic.cpp | 1 + libadhocutil/globalStatic.h | 2 -- libadhocutil/globalStatic.impl.cpp | 1 + libadhocutil/handle.cpp | 1 + libadhocutil/lazyPointer.cpp | 1 + libadhocutil/lazyPointer.h | 1 - libadhocutil/lockHelpers.cpp | 1 + libadhocutil/optionalUtils.cpp | 1 + libadhocutil/plugins.impl.cpp | 1 + libadhocutil/plugins.impl.h | 6 +++++ libadhocutil/resourcePool.impl.cpp | 1 + libadhocutil/resourcePool.impl.h | 6 +++++ libadhocutil/safeMapFind.cpp | 5 ++++ libadhocutil/safeMapFind.h | 2 +- libadhocutil/strUtil.cpp | 1 + libadhocutil/unique.cpp | 1 + libadhocutil/unittests/testCache.cpp | 1 - .../unittests/testCompileTimeFormatter.cpp | 2 +- libadhocutil/unittests/testPluginsRuntime.cpp | 1 - libadhocutil/unittests/testResourcePool.cpp | 27 +++++++++++----------- libadhocutil/unittests/testStrUtil.cpp | 1 + libadhocutil/visibility.cpp | 1 + 40 files changed, 106 insertions(+), 32 deletions(-) create mode 100644 libadhocutil/boost-test-extra.cpp create mode 100644 libadhocutil/c++11Helpers.cpp create mode 100644 libadhocutil/cache.cpp create mode 100644 libadhocutil/cache.impl.cpp create mode 100644 libadhocutil/case_less.cpp create mode 100644 libadhocutil/compileTimeFormatter.cpp create mode 100644 libadhocutil/ctf-impl/printf-compat.cpp create mode 100644 libadhocutil/exception.cpp create mode 100644 libadhocutil/factory.cpp create mode 100644 libadhocutil/factory.impl.cpp create mode 100644 libadhocutil/globalStatic.cpp create mode 100644 libadhocutil/globalStatic.impl.cpp create mode 100644 libadhocutil/handle.cpp create mode 100644 libadhocutil/lazyPointer.cpp create mode 100644 libadhocutil/lockHelpers.cpp create mode 100644 libadhocutil/optionalUtils.cpp create mode 100644 libadhocutil/plugins.impl.cpp create mode 100644 libadhocutil/resourcePool.impl.cpp create mode 100644 libadhocutil/safeMapFind.cpp create mode 100644 libadhocutil/strUtil.cpp create mode 100644 libadhocutil/unique.cpp create mode 100644 libadhocutil/visibility.cpp diff --git a/Jamroot.jam b/Jamroot.jam index c1f55f0..bca9e3e 100644 --- a/Jamroot.jam +++ b/Jamroot.jam @@ -51,6 +51,7 @@ project tidy:hicpp-no-array-decay tidy:performance-* tidy:ICE_IGNORE_VERSION + tidy:ICE_MEMBER_IMPORT_EXPORT tidy:iwyu.json tidy:boost tidy:std diff --git a/iwyu.json b/iwyu.json index b12677a..e4af14b 100644 --- a/iwyu.json +++ b/iwyu.json @@ -7,6 +7,14 @@ "public" ] }, + { + "symbol": [ + "strncasecmp", + "private", + "", + "public" + ] + }, { "include": [ "", @@ -95,6 +103,22 @@ "public" ] }, + { + "include": [ + "", + "private", + "", + "public" + ] + }, + { + "include": [ + "@", + "private", + "", + "public" + ] + }, { "include": [ "@", diff --git a/libadhocutil/boost-test-extra.cpp b/libadhocutil/boost-test-extra.cpp new file mode 100644 index 0000000..940e182 --- /dev/null +++ b/libadhocutil/boost-test-extra.cpp @@ -0,0 +1 @@ +#include "boost-test-extra.h" diff --git a/libadhocutil/c++11Helpers.cpp b/libadhocutil/c++11Helpers.cpp new file mode 100644 index 0000000..5fb07dd --- /dev/null +++ b/libadhocutil/c++11Helpers.cpp @@ -0,0 +1 @@ +#include "c++11Helpers.h" diff --git a/libadhocutil/cache.cpp b/libadhocutil/cache.cpp new file mode 100644 index 0000000..05b26b0 --- /dev/null +++ b/libadhocutil/cache.cpp @@ -0,0 +1 @@ +#include "cache.h" diff --git a/libadhocutil/cache.h b/libadhocutil/cache.h index 5f606c2..56fb5ac 100644 --- a/libadhocutil/cache.h +++ b/libadhocutil/cache.h @@ -3,8 +3,10 @@ #include "c++11Helpers.h" #include "visibility.h" +#include #include #include +#include #include #include #include diff --git a/libadhocutil/cache.impl.cpp b/libadhocutil/cache.impl.cpp new file mode 100644 index 0000000..13cd32a --- /dev/null +++ b/libadhocutil/cache.impl.cpp @@ -0,0 +1 @@ +#include "cache.impl.h" diff --git a/libadhocutil/cache.impl.h b/libadhocutil/cache.impl.h index 7ba5853..6b72e29 100644 --- a/libadhocutil/cache.impl.h +++ b/libadhocutil/cache.impl.h @@ -4,8 +4,10 @@ #include "cache.h" // IWYU pragma: export #include "lockHelpers.h" #include -#include -#include +#include +#include +#include +// IWYU pragma: no_include namespace AdHoc { diff --git a/libadhocutil/case_less.cpp b/libadhocutil/case_less.cpp new file mode 100644 index 0000000..5e83f68 --- /dev/null +++ b/libadhocutil/case_less.cpp @@ -0,0 +1,4 @@ +#include "case_less.h" +#include + +static_assert(&AdHoc::case_less::operator()); diff --git a/libadhocutil/compileTimeFormatter.cpp b/libadhocutil/compileTimeFormatter.cpp new file mode 100644 index 0000000..d367071 --- /dev/null +++ b/libadhocutil/compileTimeFormatter.cpp @@ -0,0 +1 @@ +#include "compileTimeFormatter.h" diff --git a/libadhocutil/compileTimeFormatter.h b/libadhocutil/compileTimeFormatter.h index 2524043..33fe677 100644 --- a/libadhocutil/compileTimeFormatter.h +++ b/libadhocutil/compileTimeFormatter.h @@ -1,23 +1,26 @@ #ifndef ADHOCUTIL_COMPILE_TIME_FORMATTER_H #define ADHOCUTIL_COMPILE_TIME_FORMATTER_H -#include -#include -#include -#include +#include // IWYU pragma: keep +#include // IWYU pragma: keep #include #include // IWYU pragma: export +#include +// Mapped for for BOOST_PP_VARIADIC_SIZE, BOOST_PP... in tests +// IWYU pragma: no_include -namespace AdHoc { #ifdef __cpp_nontype_template_parameter_class # define USE_FIXED_STRING #endif #ifdef USE_FIXED_STRING # define CtfString const auto +# include +# include #else # define CtfString const auto & #endif +namespace AdHoc { // Template char utils template constexpr bool @@ -248,6 +251,7 @@ namespace AdHoc { namespace support { template class basic_fixed_string : public std::array { public: + // cppcheck-suppress noExplicitConstructor constexpr basic_fixed_string(const CharT (&str)[N + 1]) { for (decltype(N) x = 0; x < N; x++) { @@ -333,11 +337,11 @@ namespace AdHoc { { return AdHoc::FormatterDetail::fmtstr, sizeof...(t)>(); } +# ifdef __clang__ +# pragma clang diagnostic pop +# endif +# pragma GCC diagnostic pop #endif -#ifdef __clang__ -# pragma clang diagnostic pop -#endif -#pragma GCC diagnostic pop } } diff --git a/libadhocutil/ctf-impl/printf-compat.cpp b/libadhocutil/ctf-impl/printf-compat.cpp new file mode 100644 index 0000000..b3edf9c --- /dev/null +++ b/libadhocutil/ctf-impl/printf-compat.cpp @@ -0,0 +1 @@ +#include "printf-compat.h" diff --git a/libadhocutil/ctf-impl/printf-compat.h b/libadhocutil/ctf-impl/printf-compat.h index aa0ead9..1ca30c3 100644 --- a/libadhocutil/ctf-impl/printf-compat.h +++ b/libadhocutil/ctf-impl/printf-compat.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/libadhocutil/exception.cpp b/libadhocutil/exception.cpp new file mode 100644 index 0000000..5a8d53c --- /dev/null +++ b/libadhocutil/exception.cpp @@ -0,0 +1 @@ +#include "exception.h" diff --git a/libadhocutil/factory.cpp b/libadhocutil/factory.cpp new file mode 100644 index 0000000..4ea88f8 --- /dev/null +++ b/libadhocutil/factory.cpp @@ -0,0 +1 @@ +#include "factory.h" diff --git a/libadhocutil/factory.h b/libadhocutil/factory.h index a2a49ed..1d614fd 100644 --- a/libadhocutil/factory.h +++ b/libadhocutil/factory.h @@ -3,6 +3,8 @@ #include "plugins.h" #include "visibility.h" +#include +#include namespace AdHoc { /** diff --git a/libadhocutil/factory.impl.cpp b/libadhocutil/factory.impl.cpp new file mode 100644 index 0000000..b5abe96 --- /dev/null +++ b/libadhocutil/factory.impl.cpp @@ -0,0 +1 @@ +#include "factory.impl.h" diff --git a/libadhocutil/factory.impl.h b/libadhocutil/factory.impl.h index a630592..905b7c4 100644 --- a/libadhocutil/factory.impl.h +++ b/libadhocutil/factory.impl.h @@ -3,6 +3,8 @@ #include "factory.h" // IWYU pragma: export #include "plugins.impl.h" // IWYU pragma: export +#include +#include namespace AdHoc { template diff --git a/libadhocutil/globalStatic.cpp b/libadhocutil/globalStatic.cpp new file mode 100644 index 0000000..6dd773e --- /dev/null +++ b/libadhocutil/globalStatic.cpp @@ -0,0 +1 @@ +#include "globalStatic.h" diff --git a/libadhocutil/globalStatic.h b/libadhocutil/globalStatic.h index a3847eb..4bc16ef 100644 --- a/libadhocutil/globalStatic.h +++ b/libadhocutil/globalStatic.h @@ -1,8 +1,6 @@ #ifndef ADHOCUTIL_GLOBALSTATIC_H #define ADHOCUTIL_GLOBALSTATIC_H -#include - namespace AdHoc { /** * Wrapper class for initialising/destroying a global static object via diff --git a/libadhocutil/globalStatic.impl.cpp b/libadhocutil/globalStatic.impl.cpp new file mode 100644 index 0000000..94a9b89 --- /dev/null +++ b/libadhocutil/globalStatic.impl.cpp @@ -0,0 +1 @@ +#include "globalStatic.impl.h" diff --git a/libadhocutil/handle.cpp b/libadhocutil/handle.cpp new file mode 100644 index 0000000..8a3cede --- /dev/null +++ b/libadhocutil/handle.cpp @@ -0,0 +1 @@ +#include "handle.h" diff --git a/libadhocutil/lazyPointer.cpp b/libadhocutil/lazyPointer.cpp new file mode 100644 index 0000000..910e04a --- /dev/null +++ b/libadhocutil/lazyPointer.cpp @@ -0,0 +1 @@ +#include "lazyPointer.h" diff --git a/libadhocutil/lazyPointer.h b/libadhocutil/lazyPointer.h index 8b523d3..c412f03 100644 --- a/libadhocutil/lazyPointer.h +++ b/libadhocutil/lazyPointer.h @@ -3,7 +3,6 @@ #include #include -#include #include namespace AdHoc { diff --git a/libadhocutil/lockHelpers.cpp b/libadhocutil/lockHelpers.cpp new file mode 100644 index 0000000..436f153 --- /dev/null +++ b/libadhocutil/lockHelpers.cpp @@ -0,0 +1 @@ +#include "lockHelpers.h" diff --git a/libadhocutil/optionalUtils.cpp b/libadhocutil/optionalUtils.cpp new file mode 100644 index 0000000..56311d5 --- /dev/null +++ b/libadhocutil/optionalUtils.cpp @@ -0,0 +1 @@ +#include "optionalUtils.h" diff --git a/libadhocutil/plugins.impl.cpp b/libadhocutil/plugins.impl.cpp new file mode 100644 index 0000000..cb141f9 --- /dev/null +++ b/libadhocutil/plugins.impl.cpp @@ -0,0 +1 @@ +#include "plugins.impl.h" diff --git a/libadhocutil/plugins.impl.h b/libadhocutil/plugins.impl.h index d3ce7a2..d10976b 100644 --- a/libadhocutil/plugins.impl.h +++ b/libadhocutil/plugins.impl.h @@ -2,6 +2,12 @@ #define ADHOCUTIL_PLUGINS_IMPL_H #include "plugins.h" // IWYU pragma: export +#include "unique.h" +#include "visibility.h" +#include +#include +#include +#include namespace AdHoc { template diff --git a/libadhocutil/resourcePool.impl.cpp b/libadhocutil/resourcePool.impl.cpp new file mode 100644 index 0000000..7554472 --- /dev/null +++ b/libadhocutil/resourcePool.impl.cpp @@ -0,0 +1 @@ +#include "resourcePool.impl.h" diff --git a/libadhocutil/resourcePool.impl.h b/libadhocutil/resourcePool.impl.h index 31f0dbf..eb34b22 100644 --- a/libadhocutil/resourcePool.impl.h +++ b/libadhocutil/resourcePool.impl.h @@ -4,7 +4,13 @@ #include "lockHelpers.h" #include "resourcePool.h" // IWYU pragma: export #include "safeMapFind.h" +#include "semaphore.h" #include +#include +#include +#include +#include +#include namespace AdHoc { // diff --git a/libadhocutil/safeMapFind.cpp b/libadhocutil/safeMapFind.cpp new file mode 100644 index 0000000..d2e62f6 --- /dev/null +++ b/libadhocutil/safeMapFind.cpp @@ -0,0 +1,5 @@ +#include "safeMapFind.h" +#include + +constexpr std::array testData {0, 1, 2}; +static_assert(AdHoc::containerContains(testData, 0)); diff --git a/libadhocutil/safeMapFind.h b/libadhocutil/safeMapFind.h index 3a11f0c..0f5c24d 100644 --- a/libadhocutil/safeMapFind.h +++ b/libadhocutil/safeMapFind.h @@ -52,7 +52,7 @@ namespace AdHoc { * Simple search, true if found, false otherwise */ template - bool + constexpr bool containerContains(const Cont & c, const typename Cont::value_type & v) { return (std::find(c.begin(), c.end(), v) != c.end()); diff --git a/libadhocutil/strUtil.cpp b/libadhocutil/strUtil.cpp new file mode 100644 index 0000000..7b40fb2 --- /dev/null +++ b/libadhocutil/strUtil.cpp @@ -0,0 +1 @@ +#include "strUtil.h" diff --git a/libadhocutil/unique.cpp b/libadhocutil/unique.cpp new file mode 100644 index 0000000..4b6f34a --- /dev/null +++ b/libadhocutil/unique.cpp @@ -0,0 +1 @@ +#include "unique.h" diff --git a/libadhocutil/unittests/testCache.cpp b/libadhocutil/unittests/testCache.cpp index 2b7f89a..c6ab6b4 100644 --- a/libadhocutil/unittests/testCache.cpp +++ b/libadhocutil/unittests/testCache.cpp @@ -7,7 +7,6 @@ #include #include #include -#include // NOLINTNEXTLINE(hicpp-special-member-functions) class Obj { diff --git a/libadhocutil/unittests/testCompileTimeFormatter.cpp b/libadhocutil/unittests/testCompileTimeFormatter.cpp index 877f3e8..fc45dba 100644 --- a/libadhocutil/unittests/testCompileTimeFormatter.cpp +++ b/libadhocutil/unittests/testCompileTimeFormatter.cpp @@ -1,9 +1,9 @@ #define BOOST_TEST_MODULE CompileTimeFormatter #include +#include "compileTimeFormatter.h" #include "memstream.h" #include -#include #include #include #include diff --git a/libadhocutil/unittests/testPluginsRuntime.cpp b/libadhocutil/unittests/testPluginsRuntime.cpp index a558910..9b3279d 100644 --- a/libadhocutil/unittests/testPluginsRuntime.cpp +++ b/libadhocutil/unittests/testPluginsRuntime.cpp @@ -5,7 +5,6 @@ #include "utilTestClasses.h" #include #include -#include #include #include #include diff --git a/libadhocutil/unittests/testResourcePool.cpp b/libadhocutil/unittests/testResourcePool.cpp index 08f6caf..baa965a 100644 --- a/libadhocutil/unittests/testResourcePool.cpp +++ b/libadhocutil/unittests/testResourcePool.cpp @@ -1,20 +1,19 @@ #define BOOST_TEST_MODULE ResourcePool #include -#include "c++11Helpers.h" // for SPECIAL_MEMBERS_DELETE -#include "lockHelpers.h" // for ScopeLock -#include "semaphore.h" // for Semaphore -#include // for atomic, __atomic_base -#include // for list, operator==, _List_iterator -#include // for operator== -#include // for make_shared, shared_ptr -#include // for unique_lock, mutex -#include -#include // for exception -#include // for thread, get_id -#include // for get -#include // for usleep, sleep -#include // for move +#include "c++11Helpers.h" +#include "lockHelpers.h" +#include "resourcePool.impl.h" +#include "semaphore.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include class MockResource { public: diff --git a/libadhocutil/unittests/testStrUtil.cpp b/libadhocutil/unittests/testStrUtil.cpp index fa642a7..f29bb07 100644 --- a/libadhocutil/unittests/testStrUtil.cpp +++ b/libadhocutil/unittests/testStrUtil.cpp @@ -1,4 +1,5 @@ #include +#include constexpr auto ltrim(std::string_view s, const auto c) diff --git a/libadhocutil/visibility.cpp b/libadhocutil/visibility.cpp new file mode 100644 index 0000000..b0a6ba9 --- /dev/null +++ b/libadhocutil/visibility.cpp @@ -0,0 +1 @@ +#include "visibility.h" -- cgit v1.2.3