diff --git a/.iwyu.imp b/.iwyu.imp index 64015c3e..9a8cf0e9 100644 --- a/.iwyu.imp +++ b/.iwyu.imp @@ -1,4 +1,5 @@ [ + { include: ["<__fwd/sstream.h>", "private", "", "public"] }, { include: ["<__fwd/string_view.h>", "private", "", "public"] }, { include: ["", "private", "", "public"] }, { include: ["", "private", "", "public"] }, diff --git a/libraries/application/tests/po/adapters/std/chrono.tests.cpp b/libraries/application/tests/po/adapters/std/chrono.tests.cpp index 1f438acc..4e51577d 100644 --- a/libraries/application/tests/po/adapters/std/chrono.tests.cpp +++ b/libraries/application/tests/po/adapters/std/chrono.tests.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include diff --git a/libraries/application/tests/po/options.tests.cpp b/libraries/application/tests/po/options.tests.cpp index 97da8fd5..36ba779e 100644 --- a/libraries/application/tests/po/options.tests.cpp +++ b/libraries/application/tests/po/options.tests.cpp @@ -1,12 +1,18 @@ #include "morpheus/application/po/options.hpp" +#include "morpheus/application/version.hpp" #include "morpheus/core/conformance/ranges.hpp" #include "morpheus/logging.hpp" #include "morpheus/redirect_stream.hpp" #include - +#include #include + +#include #include +#include +#include +#include namespace morpheus::application::po { diff --git a/libraries/core/src/morpheus/core/base/prerequisites.hpp b/libraries/core/src/morpheus/core/base/prerequisites.hpp index 31040740..5d5e4079 100644 --- a/libraries/core/src/morpheus/core/base/prerequisites.hpp +++ b/libraries/core/src/morpheus/core/base/prerequisites.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include #if (MORPHEUS_BUILD_PLATFORM == MORPHEUS_TARGET_PLATFORM_PC_WINDOWS) diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/aggregate.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/aggregate.hpp index 639aa80c..83f875de 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/aggregate.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/aggregate.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/meta/concepts/aggregate.hpp" #include "morpheus/core/serialisation/concepts/write_serialiser.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/array.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/array.hpp index 183faad8..713db562 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/array.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/array.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/chrono.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/chrono.hpp index 18defabf..b4b0a7cb 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/chrono.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/chrono.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/conformance/date.hpp" #include "morpheus/core/conversion/adapters/std/chrono.hpp" #include "morpheus/core/meta/is_specialisation.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/deque.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/deque.hpp index 9aa306c9..1241ab0e 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/deque.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/deque.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/expected.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/expected.hpp index 38cbd7c8..6cee633e 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/expected.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/expected.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/conformance/expected.hpp" #include "morpheus/core/meta/is_specialisation.hpp" #include "morpheus/core/serialisation/concepts/read_serialisable.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/forward_list.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/forward_list.hpp index e93132d8..0119052a 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/forward_list.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/forward_list.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/list.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/list.hpp index 9622c704..a6cac74a 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/list.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/list.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/map.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/map.hpp index 85803932..99dd0b92 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/map.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/map.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/monostate.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/monostate.hpp index 67a11de4..43fdb6c6 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/monostate.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/monostate.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/concepts/read_serialisable.hpp" #include "morpheus/core/serialisation/concepts/read_serialiser.hpp" #include "morpheus/core/serialisation/concepts/write_serialisable.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/optional.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/optional.hpp index bec13cf9..5596b37f 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/optional.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/optional.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/meta/is_specialisation.hpp" #include "morpheus/core/serialisation/concepts/read_serialiser.hpp" #include "morpheus/core/serialisation/concepts/read_serialisable.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/pair.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/pair.hpp index fea4c40c..d6b4a57a 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/pair.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/pair.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/meta/is_specialisation.hpp" #include "morpheus/core/serialisation/concepts/read_serialiser.hpp" #include "morpheus/core/serialisation/concepts/read_serialisable.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/ranges.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/ranges.hpp index f4fe3007..aa0865c8 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/ranges.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/ranges.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/conformance/ranges.hpp" #include "morpheus/core/meta/concepts/string.hpp" #include "morpheus/core/serialisation/concepts/read_serialisable.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/set.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/set.hpp index 988695d0..95292878 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/set.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/set.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/source_location.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/source_location.hpp index d74af95a..956d4baf 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/source_location.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/source_location.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/conformance/source_location.hpp" #include "morpheus/core/serialisation/concepts/write_serialiser.hpp" #include "morpheus/core/serialisation/concepts/write_serialisable.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/tuple.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/tuple.hpp index f9cf4a7b..f07dfe53 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/tuple.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/tuple.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/meta/is_specialisation.hpp" #include "morpheus/core/serialisation/concepts/read_serialiser.hpp" #include "morpheus/core/serialisation/concepts/read_serialisable.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/unique_ptr.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/unique_ptr.hpp index 44a3e275..4b8b22c6 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/unique_ptr.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/unique_ptr.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/meta/is_specialisation.hpp" #include "morpheus/core/serialisation/concepts/read_serialiser.hpp" #include "morpheus/core/serialisation/concepts/read_serialisable.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/unordered_map.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/unordered_map.hpp index 73e7f9b5..dd0339a2 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/unordered_map.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/unordered_map.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/unordered_set.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/unordered_set.hpp index ded380b9..42b33029 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/unordered_set.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/unordered_set.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/variant.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/variant.hpp index e17c2fff..c9911665 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/variant.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/variant.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/base/assert.hpp" #include "morpheus/core/conformance/format.hpp" #include "morpheus/core/conformance/ranges.hpp" diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/vector.hpp b/libraries/core/src/morpheus/core/serialisation/adapters/std/vector.hpp index 374480fe..1a897cab 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/vector.hpp +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/vector.hpp @@ -1,5 +1,6 @@ #pragma once +// IWYU pragma: always_keep #include "morpheus/core/serialisation/adapters/std/ranges.hpp" #include diff --git a/libraries/core/src/morpheus/core/serialisation/json_writer.hpp b/libraries/core/src/morpheus/core/serialisation/json_writer.hpp index a85914e9..2f60fd10 100644 --- a/libraries/core/src/morpheus/core/serialisation/json_writer.hpp +++ b/libraries/core/src/morpheus/core/serialisation/json_writer.hpp @@ -1,6 +1,6 @@ #pragma once -#include "morpheus/core/base/platform.hpp" +#include "morpheus/core/base/export.hpp" #include #include diff --git a/libraries/core/tests/serialisation/binary_roundtrip.tests.cpp b/libraries/core/tests/serialisation/binary_roundtrip.tests.cpp index c3a240df..ee7a15ab 100644 --- a/libraries/core/tests/serialisation/binary_roundtrip.tests.cpp +++ b/libraries/core/tests/serialisation/binary_roundtrip.tests.cpp @@ -12,7 +12,14 @@ #include "morpheus/serialisation/helpers.hpp" -#include +#include + +#include +#include +#include +#include +#include +#include using namespace Catch; diff --git a/libraries/core/tests/serialisation/binary_writer.tests.cpp b/libraries/core/tests/serialisation/binary_writer.tests.cpp index 3c410b18..858971af 100644 --- a/libraries/core/tests/serialisation/binary_writer.tests.cpp +++ b/libraries/core/tests/serialisation/binary_writer.tests.cpp @@ -8,13 +8,18 @@ #include "morpheus/core/serialisation/adapters/std/unique_ptr.hpp" #include "morpheus/core/serialisation/adapters/std/variant.hpp" #include "morpheus/core/serialisation/adapters/std/vector.hpp" -#include "morpheus/core/serialisation/write_serialiser.hpp" -#include "morpheus/core/serialisation/exceptions.hpp" -#include "morpheus/core/serialisation/serialisers.hpp" #include "morpheus/serialisation/helpers.hpp" -#include +#include + +#include +#include +#include +#include +#include +#include +#include using namespace Catch; diff --git a/libraries/core/tests/serialisation/json_writer.tests.cpp b/libraries/core/tests/serialisation/json_writer.tests.cpp index 7db82682..d0349b8f 100644 --- a/libraries/core/tests/serialisation/json_writer.tests.cpp +++ b/libraries/core/tests/serialisation/json_writer.tests.cpp @@ -12,11 +12,23 @@ #include "morpheus/core/serialisation/serialisers.hpp" #include "morpheus/core/serialisation/write_serialiser.hpp" -#include +#include +#include +#include + #include +#include +#include #include +#include +#include +#include #include #include +#include +#include +#include +#include using namespace Catch; diff --git a/libraries/gfx/platform/src/morpheus/gfx/platform/render_window.hpp b/libraries/gfx/platform/src/morpheus/gfx/platform/render_window.hpp index 0854a9b6..a0d9c055 100644 --- a/libraries/gfx/platform/src/morpheus/gfx/platform/render_window.hpp +++ b/libraries/gfx/platform/src/morpheus/gfx/platform/render_window.hpp @@ -5,6 +5,8 @@ #include #include + +#include #include namespace morpheus::gfx