diff --git a/src/openvic-simulation/console/ConsoleInstance.cpp b/src/openvic-simulation/console/ConsoleInstance.cpp index ff035f9ab..5b9644b2d 100644 --- a/src/openvic-simulation/console/ConsoleInstance.cpp +++ b/src/openvic-simulation/console/ConsoleInstance.cpp @@ -12,6 +12,7 @@ #include "openvic-simulation/core/error/ErrorMacros.hpp" #include "openvic-simulation/core/memory/String.hpp" #include "openvic-simulation/core/memory/Vector.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/country/CountryInstance.hpp" #include "openvic-simulation/DefinitionManager.hpp" #include "openvic-simulation/InstanceManager.hpp" @@ -21,7 +22,6 @@ #include "openvic-simulation/misc/Event.hpp" #include "openvic-simulation/research/Invention.hpp" #include "openvic-simulation/research/Technology.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/Date.hpp" using namespace OpenVic; diff --git a/src/openvic-simulation/console/ConsoleInstance.hpp b/src/openvic-simulation/console/ConsoleInstance.hpp index 3eeb5f18f..6a80b7a7b 100644 --- a/src/openvic-simulation/console/ConsoleInstance.hpp +++ b/src/openvic-simulation/console/ConsoleInstance.hpp @@ -11,7 +11,7 @@ #include "openvic-simulation/core/memory/Formatting.hpp" #include "openvic-simulation/core/memory/String.hpp" -#include "openvic-simulation/types/Colour.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/types/Date.hpp" #include "openvic-simulation/types/OrderedContainers.hpp" #include "openvic-simulation/utility/Getters.hpp" diff --git a/src/openvic-simulation/types/Colour.cpp b/src/openvic-simulation/core/object/Colour.cpp similarity index 91% rename from src/openvic-simulation/types/Colour.cpp rename to src/openvic-simulation/core/object/Colour.cpp index d4c69cff1..8ee36d6a1 100644 --- a/src/openvic-simulation/types/Colour.cpp +++ b/src/openvic-simulation/core/object/Colour.cpp @@ -1,5 +1,7 @@ #include "Colour.hpp" +#include + namespace OpenVic { template struct basic_colour_t; template struct basic_colour_t>; diff --git a/src/openvic-simulation/types/Colour.hpp b/src/openvic-simulation/core/object/Colour.hpp similarity index 99% rename from src/openvic-simulation/types/Colour.hpp rename to src/openvic-simulation/core/object/Colour.hpp index 5198c5708..c60346b84 100644 --- a/src/openvic-simulation/types/Colour.hpp +++ b/src/openvic-simulation/core/object/Colour.hpp @@ -2,22 +2,17 @@ #include #include -#include #include -#include #include #include -#include #include #include #include #include -#include #include #include #include #include -#include #include #include @@ -141,7 +136,8 @@ namespace OpenVic { /* Colour represented by an unsigned integer, either 24-bit RGB or 32-bit ARGB. */ template> - struct basic_colour_t { + class basic_colour_t { + public: /* PROPERTY generated getter functions will return colours by value, rather than const reference. */ using ov_return_by_value = void; @@ -170,7 +166,7 @@ namespace OpenVic { value_type blue; OV_NO_UNIQUE_ADDRESS _alpha_t alpha; - static constexpr std::integral_constant ? 4 : 3> size = {}; + static constexpr std::integral_constant ? 4 : 3> size = {}; OV_SPEED_INLINE static constexpr basic_colour_t fill_as(value_type value) { if constexpr (colour_traits::has_alpha) { diff --git a/src/openvic-simulation/country/CountryDefinition.cpp b/src/openvic-simulation/country/CountryDefinition.cpp index 782463edf..207e0fd0f 100644 --- a/src/openvic-simulation/country/CountryDefinition.cpp +++ b/src/openvic-simulation/country/CountryDefinition.cpp @@ -5,6 +5,7 @@ #include #include "openvic-simulation/core/memory/FixedVector.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/dataloader/Dataloader.hpp" #include "openvic-simulation/dataloader/NodeTools.hpp" #include "openvic-simulation/DefinitionManager.hpp" @@ -12,7 +13,6 @@ #include "openvic-simulation/politics/Ideology.hpp" #include "openvic-simulation/politics/PartyPolicy.hpp" #include "openvic-simulation/population/Culture.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/IdentifierRegistry.hpp" #include "openvic-simulation/types/TypedIndices.hpp" #include "openvic-simulation/utility/Logger.hpp" diff --git a/src/openvic-simulation/dataloader/NodeTools.cpp b/src/openvic-simulation/dataloader/NodeTools.cpp index a2ae665fc..8cfb329e3 100644 --- a/src/openvic-simulation/dataloader/NodeTools.cpp +++ b/src/openvic-simulation/dataloader/NodeTools.cpp @@ -15,8 +15,8 @@ #include #include +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/core/ui/TextFormat.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/fixed_point/String.hpp" #include "openvic-simulation/types/Vector.hpp" #include "openvic-simulation/utility/Getters.hpp" diff --git a/src/openvic-simulation/dataloader/NodeTools.hpp b/src/openvic-simulation/dataloader/NodeTools.hpp index e075dd7ef..4dfd4c9f0 100644 --- a/src/openvic-simulation/dataloader/NodeTools.hpp +++ b/src/openvic-simulation/dataloader/NodeTools.hpp @@ -20,11 +20,11 @@ #include "openvic-simulation/core/FormatValidate.hpp" #include "openvic-simulation/core/memory/String.hpp" #include "openvic-simulation/core/memory/Vector.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/core/stl/MutableIterator.hpp" #include "openvic-simulation/core/string/Utility.hpp" #include "openvic-simulation/core/template/Concepts.hpp" #include "openvic-simulation/core/ui/TextFormat.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/Date.hpp" #include "openvic-simulation/types/IndexedFlatMap.hpp" #include "openvic-simulation/types/OrderedContainers.hpp" diff --git a/src/openvic-simulation/interface/UI.cpp b/src/openvic-simulation/interface/UI.cpp index de6a29427..8143dc56a 100644 --- a/src/openvic-simulation/interface/UI.cpp +++ b/src/openvic-simulation/interface/UI.cpp @@ -1,8 +1,8 @@ #include "UI.hpp" #include "openvic-simulation/DefinitionManager.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/dataloader/NodeTools.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/IdentifierRegistry.hpp" using namespace OpenVic; diff --git a/src/openvic-simulation/map/MapDefinition.cpp b/src/openvic-simulation/map/MapDefinition.cpp index 2dc8db7ae..9e806b03e 100644 --- a/src/openvic-simulation/map/MapDefinition.cpp +++ b/src/openvic-simulation/map/MapDefinition.cpp @@ -18,13 +18,13 @@ #include "openvic-simulation/core/FormatValidate.hpp" #include "openvic-simulation/core/io/BMP.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/core/stl/containers/TypedSpan.hpp" #include "openvic-simulation/core/string/CharConv.hpp" #include "openvic-simulation/core/Typedefs.hpp" #include "openvic-simulation/dataloader/NodeTools.hpp" #include "openvic-simulation/map/ProvinceDefinition.hpp" #include "openvic-simulation/modifier/ModifierManager.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/fixed_point/FixedPoint.hpp" #include "openvic-simulation/types/fixed_point/Math.hpp" #include "openvic-simulation/types/OrderedContainersMath.hpp" diff --git a/src/openvic-simulation/map/MapDefinition.hpp b/src/openvic-simulation/map/MapDefinition.hpp index a2aa45f95..2f5ba1bfb 100644 --- a/src/openvic-simulation/map/MapDefinition.hpp +++ b/src/openvic-simulation/map/MapDefinition.hpp @@ -9,11 +9,11 @@ #include "openvic-simulation/core/io/BMP.hpp" #include "openvic-simulation/core/memory/Vector.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/map/ProvinceDefinition.hpp" #include "openvic-simulation/map/Region.hpp" #include "openvic-simulation/map/TerrainType.hpp" #include "openvic-simulation/pathfinding/PointMap.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/IdentifierRegistry.hpp" #include "openvic-simulation/types/OrderedContainers.hpp" #include "openvic-simulation/types/Vector.hpp" diff --git a/src/openvic-simulation/map/Mapmode.hpp b/src/openvic-simulation/map/Mapmode.hpp index f6889956a..174df84b2 100644 --- a/src/openvic-simulation/map/Mapmode.hpp +++ b/src/openvic-simulation/map/Mapmode.hpp @@ -6,7 +6,7 @@ #include -#include "openvic-simulation/types/Colour.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/types/HasIdentifier.hpp" #include "openvic-simulation/types/HasIndex.hpp" #include "openvic-simulation/types/IdentifierRegistry.hpp" diff --git a/src/openvic-simulation/map/Region.cpp b/src/openvic-simulation/map/Region.cpp index 615788f5a..328cb41b5 100644 --- a/src/openvic-simulation/map/Region.cpp +++ b/src/openvic-simulation/map/Region.cpp @@ -1,7 +1,7 @@ #include "Region.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/map/ProvinceDefinition.hpp" -#include "openvic-simulation/types/Colour.hpp" using namespace OpenVic; diff --git a/src/openvic-simulation/map/TerrainType.cpp b/src/openvic-simulation/map/TerrainType.cpp index 2d7a7a5e3..8ce0aa849 100644 --- a/src/openvic-simulation/map/TerrainType.cpp +++ b/src/openvic-simulation/map/TerrainType.cpp @@ -4,8 +4,8 @@ #include "openvic-simulation/core/FormatValidate.hpp" #include "openvic-simulation/core/memory/FixedVector.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/modifier/ModifierManager.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/HasIdentifier.hpp" using namespace OpenVic; diff --git a/src/openvic-simulation/politics/Ideology.cpp b/src/openvic-simulation/politics/Ideology.cpp index 23b4426b1..881f9a141 100644 --- a/src/openvic-simulation/politics/Ideology.cpp +++ b/src/openvic-simulation/politics/Ideology.cpp @@ -1,6 +1,6 @@ #include "Ideology.hpp" -#include "openvic-simulation/types/Colour.hpp" +#include "openvic-simulation/core/object/Colour.hpp" using namespace OpenVic; using namespace OpenVic::NodeTools; diff --git a/src/openvic-simulation/population/Culture.cpp b/src/openvic-simulation/population/Culture.cpp index 979923955..3de5de71d 100644 --- a/src/openvic-simulation/population/Culture.cpp +++ b/src/openvic-simulation/population/Culture.cpp @@ -1,10 +1,11 @@ #include "Culture.hpp" + #include +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/country/CountryDefinition.hpp" #include "openvic-simulation/dataloader/Dataloader.hpp" #include "openvic-simulation/dataloader/NodeTools.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/core/string/Utility.hpp" #include "openvic-simulation/core/Typedefs.hpp" diff --git a/src/openvic-simulation/population/Religion.cpp b/src/openvic-simulation/population/Religion.cpp index 49cd2f4f0..10f27c103 100644 --- a/src/openvic-simulation/population/Religion.cpp +++ b/src/openvic-simulation/population/Religion.cpp @@ -1,6 +1,6 @@ #include "Religion.hpp" -#include "openvic-simulation/types/Colour.hpp" +#include "openvic-simulation/core/object/Colour.hpp" using namespace OpenVic; using namespace OpenVic::NodeTools; diff --git a/src/openvic-simulation/types/HasIdentifier.hpp b/src/openvic-simulation/types/HasIdentifier.hpp index d119c515b..bac34ff32 100644 --- a/src/openvic-simulation/types/HasIdentifier.hpp +++ b/src/openvic-simulation/types/HasIdentifier.hpp @@ -8,9 +8,9 @@ #include +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/core/template/Concepts.hpp" #include "openvic-simulation/core/template/Functional.hpp" // IWYU pragma: keep: bug fix for std::reference_wrapper hash & equality -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/utility/Getters.hpp" namespace OpenVic { diff --git a/tests/src/types/Colour.cpp b/tests/src/core/object/Colour.cpp similarity index 98% rename from tests/src/types/Colour.cpp rename to tests/src/core/object/Colour.cpp index 206ac93fc..14548416e 100644 --- a/tests/src/types/Colour.cpp +++ b/tests/src/core/object/Colour.cpp @@ -1,12 +1,13 @@ -#include "openvic-simulation/types/Colour.hpp" +#include "openvic-simulation/core/object/Colour.hpp" -#include -#include +#include #include +#include + #include "Colour.hpp" // IWYU pragma: keep #include "Helper.hpp" // IWYU pragma: keep -#include "Numeric.hpp" // IWYU pragma: keep +#include "types/Numeric.hpp" // IWYU pragma: keep #include #include #include diff --git a/tests/src/types/Colour.hpp b/tests/src/core/object/Colour.hpp similarity index 90% rename from tests/src/types/Colour.hpp rename to tests/src/core/object/Colour.hpp index 5768c615d..8e2a525dd 100644 --- a/tests/src/types/Colour.hpp +++ b/tests/src/core/object/Colour.hpp @@ -1,8 +1,8 @@ #pragma once -#include +#include -#include "openvic-simulation/types/Colour.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include #include diff --git a/tests/src/dataloader/NodeTools.cpp b/tests/src/dataloader/NodeTools.cpp index 6f7d25b1b..aeb2a0f0c 100644 --- a/tests/src/dataloader/NodeTools.cpp +++ b/tests/src/dataloader/NodeTools.cpp @@ -22,13 +22,13 @@ #include #include -#include "openvic-simulation/types/Colour.hpp" +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/types/Date.hpp" #include "openvic-simulation/types/fixed_point/FixedPoint.hpp" #include "openvic-simulation/types/fixed_point/String.hpp" #include "openvic-simulation/core/string/CharConv.hpp" -#include "../types/Colour.hpp" // IWYU pragma: keep +#include "../core/object/Colour.hpp" // IWYU pragma: keep #include "Helper.hpp" // IWYU pragma: keep #include "types/Numeric.hpp" // IWYU pragma: keep #include diff --git a/tests/src/economy/trading/GoodMarket.cpp b/tests/src/economy/trading/GoodMarket.cpp index 0261db216..6e1effad4 100644 --- a/tests/src/economy/trading/GoodMarket.cpp +++ b/tests/src/economy/trading/GoodMarket.cpp @@ -3,9 +3,9 @@ #include +#include "openvic-simulation/core/object/Colour.hpp" #include "openvic-simulation/core/stl/containers/TypedSpan.hpp" #include "openvic-simulation/misc/GameRulesManager.hpp" -#include "openvic-simulation/types/Colour.hpp" #include "openvic-simulation/types/fixed_point/FixedPoint.hpp" #include "openvic-simulation/types/TypedIndices.hpp"