From c066104af75d21bc1c008366ce4a7bdaf4c66c95 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Wed, 24 Apr 2024 20:53:54 +0200 Subject: [PATCH] refactor: :boom: `framework.h` introduced + IWYU --- .cmake-format.yaml | 8 ++- cmake/include-what-you-use.cmake | 2 + example/avg_speed.cpp | 4 +- example/capacitor_time_curve.cpp | 2 +- example/conversion_factor.cpp | 7 +-- example/currency.cpp | 6 +- .../include/glide_computer_lib.h | 2 +- example/include/geographic.h | 4 +- example/include/ranged_representation.h | 4 +- example/include/validated_type.h | 7 ++- example/measurement.cpp | 8 ++- example/storage_tank.cpp | 2 +- example/strong_angular_quantities.cpp | 3 +- example/total_energy.cpp | 4 +- example/unmanned_aerial_vehicle.cpp | 2 +- src/core/CMakeLists.txt | 61 ++++++++++--------- src/core/include/mp-units/bits/core_gmf.h | 2 +- .../mp-units/bits/get_associated_quantity.h | 6 +- .../include/mp-units/bits/get_common_base.h | 2 +- .../mp-units/bits/{external => }/hacks.h | 0 .../bits/{external => }/math_concepts.h | 0 src/core/include/mp-units/bits/ratio.h | 4 +- src/core/include/mp-units/bits/sudo_cast.h | 10 +-- src/core/include/mp-units/bits/text_tools.h | 24 ++------ .../mp-units/bits/{external => }/type_list.h | 2 +- src/core/include/mp-units/compat_macros.h | 4 +- src/core/include/mp-units/concepts.h | 16 ++--- src/core/include/mp-units/core.h | 12 +--- .../{bits/external => ext}/algorithm.h | 2 +- .../{bits/external => ext}/fixed_string.h | 4 +- .../mp-units/{bits/external => ext}/prime.h | 2 +- .../{bits/external => ext}/type_name.h | 0 .../{bits/external => ext}/type_traits.h | 2 +- src/core/include/mp-units/format.h | 10 +-- src/core/include/mp-units/framework.h | 46 ++++++++++++++ .../mp-units/{ => framework}/compare.h | 1 + .../{ => framework}/customization_points.h | 3 +- .../mp-units/{ => framework}/dimension.h | 12 ++-- .../{bits => framework}/dimension_concepts.h | 7 ++- .../{bits => framework}/expression_template.h | 6 +- .../mp-units/{bits => framework}/magnitude.h | 17 +++--- .../mp-units/{ => framework}/quantity.h | 23 +++---- .../{bits => framework}/quantity_cast.h | 7 ++- .../{bits => framework}/quantity_concepts.h | 9 +-- .../mp-units/{ => framework}/quantity_point.h | 11 ++-- .../quantity_point_concepts.h | 11 ++-- .../mp-units/{ => framework}/quantity_spec.h | 21 ++++--- .../quantity_spec_concepts.h | 7 ++- .../mp-units/{ => framework}/reference.h | 7 ++- .../{bits => framework}/reference_concepts.h | 5 +- .../representation_concepts.h | 3 +- .../{bits => framework}/symbol_text.h | 15 +++-- .../{ => framework}/system_reference.h | 9 +-- .../include/mp-units/{ => framework}/unit.h | 23 +++---- .../{bits => framework}/unit_concepts.h | 9 +-- .../mp-units/{bits => framework}/value_cast.h | 11 ++-- src/core/include/mp-units/math.h | 8 +-- src/core/include/mp-units/ostream.h | 4 +- src/core/include/mp-units/random.h | 2 +- .../mp-units/systems/angular/angular.h | 6 ++ .../include/mp-units/systems/angular/math.h | 8 +-- .../include/mp-units/systems/angular/units.h | 6 +- .../include/mp-units/systems/cgs/cgs.h | 4 +- .../include/mp-units/systems/hep/hep.h | 8 ++- .../include/mp-units/systems/iau/iau.h | 4 +- .../systems/iec80000/binary_prefixes.h | 2 +- .../mp-units/systems/iec80000/iec80000.h | 4 ++ .../mp-units/systems/iec80000/quantities.h | 4 +- .../include/mp-units/systems/iec80000/units.h | 2 +- .../mp-units/systems/imperial/imperial.h | 5 +- .../systems/international/international.h | 4 +- .../systems/isq/atomic_and_nuclear_physics.h | 5 +- .../mp-units/systems/isq/base_quantities.h | 6 +- .../mp-units/systems/isq/electromagnetism.h | 7 ++- .../systems/isq/light_and_radiation.h | 7 ++- .../include/mp-units/systems/isq/mechanics.h | 7 ++- .../mp-units/systems/isq/si_quantities.h | 5 +- .../mp-units/systems/isq/space_and_time.h | 5 +- .../mp-units/systems/isq/thermodynamics.h | 7 ++- .../mp-units/systems/isq_angle/isq_angle.h | 7 ++- .../mp-units/systems/natural/natural.h | 5 +- .../include/mp-units/systems/si/chrono.h | 4 +- .../include/mp-units/systems/si/constants.h | 2 +- .../include/mp-units/systems/si/math.h | 8 +-- .../include/mp-units/systems/si/prefixes.h | 2 +- src/systems/include/mp-units/systems/si/si.h | 6 ++ .../include/mp-units/systems/si/units.h | 4 +- .../systems/typographic/typographic.h | 4 +- .../include/mp-units/systems/usc/usc.h | 5 +- test/runtime/almost_equals.h | 2 +- test/runtime/atomic_test.cpp | 12 ++-- test/runtime/distribution_test.cpp | 8 ++- test/runtime/fmt_test.cpp | 4 +- test/runtime/linear_algebra_test.cpp | 5 +- test/runtime/math_test.cpp | 5 +- test/static/cgs_test.cpp | 2 +- test/static/chrono_test.cpp | 7 ++- test/static/compare_test.cpp | 2 +- test/static/concepts_test.cpp | 3 +- test/static/custom_rep_test_min_impl.cpp | 4 +- test/static/dimension_symbol_test.cpp | 2 + test/static/dimension_test.cpp | 8 +-- test/static/fixed_string_test.cpp | 3 +- test/static/fractional_exponent_quantity.cpp | 2 + test/static/hep_test.cpp | 1 - test/static/iau_test.cpp | 2 +- test/static/iec80000_test.cpp | 5 +- test/static/imperial_test.cpp | 1 - test/static/isq_angle_test.cpp | 2 +- test/static/isq_test.cpp | 4 +- test/static/math_test.cpp | 4 +- test/static/natural_test.cpp | 2 + test/static/prime_test.cpp | 5 +- test/static/quantity_point_test.cpp | 5 +- test/static/quantity_spec_test.cpp | 7 +-- test/static/quantity_test.cpp | 7 ++- test/static/reference_test.cpp | 9 +-- test/static/symbol_text_test.cpp | 3 +- test/static/test_tools.h | 4 +- test/static/type_list_test.cpp | 4 +- test/static/unit_symbol_test.cpp | 1 + test/static/unit_test.cpp | 17 +++--- test/static/usc_test.cpp | 5 +- 123 files changed, 478 insertions(+), 337 deletions(-) rename src/core/include/mp-units/bits/{external => }/hacks.h (100%) rename src/core/include/mp-units/bits/{external => }/math_concepts.h (100%) rename src/core/include/mp-units/bits/{external => }/type_list.h (99%) rename src/core/include/mp-units/{bits/external => ext}/algorithm.h (99%) rename src/core/include/mp-units/{bits/external => ext}/fixed_string.h (98%) rename src/core/include/mp-units/{bits/external => ext}/prime.h (99%) rename src/core/include/mp-units/{bits/external => ext}/type_name.h (100%) rename src/core/include/mp-units/{bits/external => ext}/type_traits.h (99%) create mode 100644 src/core/include/mp-units/framework.h rename src/core/include/mp-units/{ => framework}/compare.h (97%) rename src/core/include/mp-units/{ => framework}/customization_points.h (98%) rename src/core/include/mp-units/{ => framework}/dimension.h (97%) rename src/core/include/mp-units/{bits => framework}/dimension_concepts.h (95%) rename src/core/include/mp-units/{bits => framework}/expression_template.h (99%) rename src/core/include/mp-units/{bits => framework}/magnitude.h (98%) rename src/core/include/mp-units/{ => framework}/quantity.h (97%) rename src/core/include/mp-units/{bits => framework}/quantity_cast.h (93%) rename src/core/include/mp-units/{bits => framework}/quantity_concepts.h (92%) rename src/core/include/mp-units/{ => framework}/quantity_point.h (98%) rename src/core/include/mp-units/{bits => framework}/quantity_point_concepts.h (95%) rename src/core/include/mp-units/{ => framework}/quantity_spec.h (99%) rename src/core/include/mp-units/{bits => framework}/quantity_spec_concepts.h (96%) rename src/core/include/mp-units/{ => framework}/reference.h (97%) rename src/core/include/mp-units/{bits => framework}/reference_concepts.h (94%) rename src/core/include/mp-units/{bits => framework}/representation_concepts.h (97%) rename src/core/include/mp-units/{bits => framework}/symbol_text.h (93%) rename src/core/include/mp-units/{ => framework}/system_reference.h (93%) rename src/core/include/mp-units/{ => framework}/unit.h (98%) rename src/core/include/mp-units/{bits => framework}/unit_concepts.h (96%) rename src/core/include/mp-units/{bits => framework}/value_cast.h (95%) diff --git a/.cmake-format.yaml b/.cmake-format.yaml index c80494f11..b1465f47c 100644 --- a/.cmake-format.yaml +++ b/.cmake-format.yaml @@ -10,9 +10,15 @@ parse: enable_iwyu: pargs: flags: + - QUIET + - REQUIRED - NO_FORWARD_DECLARATIONS - - QUOTED_INCLUDES_FIRST + - PCH_IN_CODE + - TRANSITIVE_INCLUDES_ONLY - NO_COMMENTS + - NO_FORWARD_DECLARATIONS + - CXX17_NAMESPACES + - QUOTED_INCLUDES_FIRST kwargs: MAPPING_FILE: 1 MAX_LINE_LENGTH: 1 diff --git a/cmake/include-what-you-use.cmake b/cmake/include-what-you-use.cmake index 2f3e69ed5..f42bebc4e 100644 --- a/cmake/include-what-you-use.cmake +++ b/cmake/include-what-you-use.cmake @@ -45,6 +45,7 @@ macro(_process_iwyu_arguments offset log_postfix) set(_options QUIET REQUIRED + ERROR NO_DEFAULT_MAPPINGS PCH_IN_CODE TRANSITIVE_INCLUDES_ONLY @@ -112,6 +113,7 @@ macro(_process_iwyu_arguments offset log_postfix) _iwyu_args_append("--max_line_length=${_enable_iwyu_MAX_LINE_LENGTH}") endif() + _iwyu_args_append_if_present(ERROR "--error") _iwyu_args_append_if_present(NO_DEFAULT_MAPPINGS "--no_default_mappings") _iwyu_args_append_if_present(PCH_IN_CODE "--pch_in_code") _iwyu_args_append_if_present(TRANSITIVE_INCLUDES_ONLY "--transitive_includes_only") diff --git a/example/avg_speed.cpp b/example/avg_speed.cpp index a31f6a1bc..f7f5e6114 100644 --- a/example/avg_speed.cpp +++ b/example/avg_speed.cpp @@ -33,8 +33,8 @@ import mp_units; #include #include #include -#include -#include +#include +#include #endif namespace { diff --git a/example/capacitor_time_curve.cpp b/example/capacitor_time_curve.cpp index 02bbc2719..fc9f867b2 100644 --- a/example/capacitor_time_curve.cpp +++ b/example/capacitor_time_curve.cpp @@ -24,7 +24,7 @@ #ifdef MP_UNITS_MODULES import mp_units; #else -#include // IWYU pragma: keep +#include #include #include #include diff --git a/example/conversion_factor.cpp b/example/conversion_factor.cpp index 308fb2a00..a4d577a87 100644 --- a/example/conversion_factor.cpp +++ b/example/conversion_factor.cpp @@ -16,15 +16,14 @@ */ #include +#include #include -#include +#include #ifdef MP_UNITS_MODULES import mp_units; #else #include -#include -#include -#include +#include #endif /* diff --git a/example/currency.cpp b/example/currency.cpp index cc935c5e3..c81786fbd 100644 --- a/example/currency.cpp +++ b/example/currency.cpp @@ -21,14 +21,16 @@ // SOFTWARE. #include +#include #include #include +#include +#include #ifdef MP_UNITS_MODULES import mp_units.core; #else +#include #include -#include -#include #endif using namespace mp_units; diff --git a/example/glide_computer_lib/include/glide_computer_lib.h b/example/glide_computer_lib/include/glide_computer_lib.h index b198dabf4..5a1faaf7c 100644 --- a/example/glide_computer_lib/include/glide_computer_lib.h +++ b/example/glide_computer_lib/include/glide_computer_lib.h @@ -36,8 +36,8 @@ #ifdef MP_UNITS_MODULES import mp_units; #else +#include #include // IWYU pragma: keep -#include #include #include #endif diff --git a/example/include/geographic.h b/example/include/geographic.h index e2b921244..06349d167 100644 --- a/example/include/geographic.h +++ b/example/include/geographic.h @@ -31,10 +31,8 @@ #ifdef MP_UNITS_MODULES import mp_units; #else -#include #include -#include -#include +#include #include #include #endif diff --git a/example/include/ranged_representation.h b/example/include/ranged_representation.h index 0f760c00e..9fc493cdb 100644 --- a/example/include/ranged_representation.h +++ b/example/include/ranged_representation.h @@ -23,7 +23,7 @@ #pragma once #include "validated_type.h" -#include +#include #include #include #include @@ -32,7 +32,7 @@ import mp_units.core; #else #include -#include +#include #endif template) auto Min, diff --git a/example/include/validated_type.h b/example/include/validated_type.h index 8be7c1a62..738c42e63 100644 --- a/example/include/validated_type.h +++ b/example/include/validated_type.h @@ -23,16 +23,17 @@ #pragma once #include -#include +#include #include +#include // IWYU pragma: export #include #include #ifdef MP_UNITS_MODULES import mp_units.core; #else -#include #include -#include +#include +#include #endif inline constexpr struct validated_tag { diff --git a/example/measurement.cpp b/example/measurement.cpp index 8a6a5948f..52e991e7c 100644 --- a/example/measurement.cpp +++ b/example/measurement.cpp @@ -20,17 +20,21 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#include #include #include +#include // IWYU pragma: export +#include #include #include +#include #ifdef MP_UNITS_MODULES import mp_units; #else +#include #include #include -#include -#include +#include #endif namespace { diff --git a/example/storage_tank.cpp b/example/storage_tank.cpp index 74de74827..76f2af8e2 100644 --- a/example/storage_tank.cpp +++ b/example/storage_tank.cpp @@ -25,7 +25,7 @@ #include #include #include -#include +#include #ifdef MP_UNITS_MODULES import mp_units; #else diff --git a/example/strong_angular_quantities.cpp b/example/strong_angular_quantities.cpp index 298a097e7..585e5b01f 100644 --- a/example/strong_angular_quantities.cpp +++ b/example/strong_angular_quantities.cpp @@ -24,10 +24,9 @@ #ifdef MP_UNITS_MODULES import mp_units; #else -#include #include #include -#include +#include #endif template diff --git a/example/total_energy.cpp b/example/total_energy.cpp index aea49059b..64f93aa3b 100644 --- a/example/total_energy.cpp +++ b/example/total_energy.cpp @@ -28,9 +28,9 @@ import mp_units; #include #include #include +#include #include -#include -#include +#include #endif template diff --git a/example/unmanned_aerial_vehicle.cpp b/example/unmanned_aerial_vehicle.cpp index e520fd4dd..19b68922d 100644 --- a/example/unmanned_aerial_vehicle.cpp +++ b/example/unmanned_aerial_vehicle.cpp @@ -27,8 +27,8 @@ #ifdef MP_UNITS_MODULES import mp_units; #else +#include #include -#include #include #include #include diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 329ec1ec2..e893d85fd 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -40,50 +40,51 @@ endif() add_mp_units_module( core mp-units-core DEPENDENCIES gsl::gsl-lite - HEADERS include/mp-units/bits/external/algorithm.h - include/mp-units/bits/external/fixed_string.h - include/mp-units/bits/external/hacks.h - include/mp-units/bits/external/math_concepts.h - include/mp-units/bits/external/prime.h - include/mp-units/bits/external/type_list.h - include/mp-units/bits/external/type_name.h - include/mp-units/bits/external/type_traits.h - include/mp-units/bits/core_gmf.h - include/mp-units/bits/dimension_concepts.h - include/mp-units/bits/expression_template.h + HEADERS include/mp-units/bits/core_gmf.h include/mp-units/bits/fmt.h include/mp-units/bits/get_associated_quantity.h include/mp-units/bits/get_common_base.h - include/mp-units/bits/magnitude.h + include/mp-units/bits/hacks.h + include/mp-units/bits/math_concepts.h include/mp-units/bits/module_macros.h - include/mp-units/bits/quantity_cast.h - include/mp-units/bits/quantity_concepts.h - include/mp-units/bits/quantity_point_concepts.h - include/mp-units/bits/quantity_spec_concepts.h include/mp-units/bits/ratio.h - include/mp-units/bits/reference_concepts.h - include/mp-units/bits/representation_concepts.h include/mp-units/bits/sudo_cast.h - include/mp-units/bits/symbol_text.h include/mp-units/bits/text_tools.h - include/mp-units/bits/unit_concepts.h - include/mp-units/bits/value_cast.h - include/mp-units/compare.h + include/mp-units/bits/type_list.h + include/mp-units/ext/algorithm.h + include/mp-units/ext/fixed_string.h + include/mp-units/ext/prime.h + include/mp-units/ext/type_name.h + include/mp-units/ext/type_traits.h + include/mp-units/framework/compare.h + include/mp-units/framework/customization_points.h + include/mp-units/framework/dimension.h + include/mp-units/framework/dimension_concepts.h + include/mp-units/framework/expression_template.h + include/mp-units/framework/magnitude.h + include/mp-units/framework/quantity.h + include/mp-units/framework/quantity_cast.h + include/mp-units/framework/quantity_concepts.h + include/mp-units/framework/quantity_point.h + include/mp-units/framework/quantity_point_concepts.h + include/mp-units/framework/quantity_spec.h + include/mp-units/framework/quantity_spec_concepts.h + include/mp-units/framework/reference.h + include/mp-units/framework/reference_concepts.h + include/mp-units/framework/representation_concepts.h + include/mp-units/framework/symbol_text.h + include/mp-units/framework/system_reference.h + include/mp-units/framework/unit.h + include/mp-units/framework/unit_concepts.h + include/mp-units/framework/value_cast.h include/mp-units/compat_macros.h include/mp-units/concepts.h include/mp-units/core.h - include/mp-units/customization_points.h - include/mp-units/dimension.h include/mp-units/format.h + include/mp-units/framework.h include/mp-units/math.h include/mp-units/ostream.h - include/mp-units/quantity.h - include/mp-units/quantity_point.h - include/mp-units/quantity_spec.h include/mp-units/random.h - include/mp-units/reference.h - include/mp-units/system_reference.h - include/mp-units/unit.h MODULE_INTERFACE_UNIT mp-units-core.cpp ) diff --git a/src/core/include/mp-units/bits/core_gmf.h b/src/core/include/mp-units/bits/core_gmf.h index 0c200a6cd..261baca53 100644 --- a/src/core/include/mp-units/bits/core_gmf.h +++ b/src/core/include/mp-units/bits/core_gmf.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/src/core/include/mp-units/bits/get_associated_quantity.h b/src/core/include/mp-units/bits/get_associated_quantity.h index abaee2a3f..2a4743033 100644 --- a/src/core/include/mp-units/bits/get_associated_quantity.h +++ b/src/core/include/mp-units/bits/get_associated_quantity.h @@ -22,9 +22,9 @@ #pragma once -#include -#include -#include +#include +#include +#include namespace mp_units::detail { diff --git a/src/core/include/mp-units/bits/get_common_base.h b/src/core/include/mp-units/bits/get_common_base.h index 97ad5fbdd..e703a41f2 100644 --- a/src/core/include/mp-units/bits/get_common_base.h +++ b/src/core/include/mp-units/bits/get_common_base.h @@ -22,7 +22,7 @@ #pragma once -#include +#include namespace mp_units::detail { diff --git a/src/core/include/mp-units/bits/external/hacks.h b/src/core/include/mp-units/bits/hacks.h similarity index 100% rename from src/core/include/mp-units/bits/external/hacks.h rename to src/core/include/mp-units/bits/hacks.h diff --git a/src/core/include/mp-units/bits/external/math_concepts.h b/src/core/include/mp-units/bits/math_concepts.h similarity index 100% rename from src/core/include/mp-units/bits/external/math_concepts.h rename to src/core/include/mp-units/bits/math_concepts.h diff --git a/src/core/include/mp-units/bits/ratio.h b/src/core/include/mp-units/bits/ratio.h index 8ca88b585..872a82ce8 100644 --- a/src/core/include/mp-units/bits/ratio.h +++ b/src/core/include/mp-units/bits/ratio.h @@ -22,12 +22,12 @@ #pragma once -#include +#include #include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include -#include +#include // IWYU pragma: export #include #include #endif diff --git a/src/core/include/mp-units/bits/sudo_cast.h b/src/core/include/mp-units/bits/sudo_cast.h index 65efb8828..65e4ea2a3 100644 --- a/src/core/include/mp-units/bits/sudo_cast.h +++ b/src/core/include/mp-units/bits/sudo_cast.h @@ -22,11 +22,11 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace mp_units::detail { diff --git a/src/core/include/mp-units/bits/text_tools.h b/src/core/include/mp-units/bits/text_tools.h index 35ab0c4cf..a2691b74c 100644 --- a/src/core/include/mp-units/bits/text_tools.h +++ b/src/core/include/mp-units/bits/text_tools.h @@ -22,18 +22,16 @@ #pragma once -#include -#include #include -#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include #endif -namespace mp_units { - -namespace detail { +namespace mp_units::detail { template requires(0 <= Value) && (Value < 10) @@ -92,16 +90,6 @@ template return regular() + regular(); } -} // namespace detail - -MP_UNITS_EXPORT enum class text_encoding : std::int8_t { - unicode, // µs; m³; L²MT⁻³ - ascii, // us; m^3; L^2MT^-3 - default_encoding = unicode -}; - -namespace detail { - template Out> constexpr Out copy(const symbol_text& txt, text_encoding encoding, Out out) { @@ -159,6 +147,4 @@ constexpr Out copy_symbol_exponent(text_encoding encoding, bool negative_power, } } -} // namespace detail - -} // namespace mp_units +} // namespace mp_units::detail diff --git a/src/core/include/mp-units/bits/external/type_list.h b/src/core/include/mp-units/bits/type_list.h similarity index 99% rename from src/core/include/mp-units/bits/external/type_list.h rename to src/core/include/mp-units/bits/type_list.h index 90fec0b6e..0f27c4133 100644 --- a/src/core/include/mp-units/bits/external/type_list.h +++ b/src/core/include/mp-units/bits/type_list.h @@ -22,7 +22,7 @@ #pragma once -#include // IWYU pragma: keep +#include // IWYU pragma: keep #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/compat_macros.h b/src/core/include/mp-units/compat_macros.h index 0c3c9876b..b98973388 100644 --- a/src/core/include/mp-units/compat_macros.h +++ b/src/core/include/mp-units/compat_macros.h @@ -20,9 +20,11 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +// IWYU pragma: always_keep + #pragma once -#include +#include #ifdef MP_UNITS_API_NO_CRTP diff --git a/src/core/include/mp-units/concepts.h b/src/core/include/mp-units/concepts.h index 1cd93c783..ebd5dee95 100644 --- a/src/core/include/mp-units/concepts.h +++ b/src/core/include/mp-units/concepts.h @@ -22,10 +22,12 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include +// IWYU pragma: begin_exports +#include +#include +#include +#include +#include +#include +#include +// IWYU pragma: end_exports diff --git a/src/core/include/mp-units/core.h b/src/core/include/mp-units/core.h index d2d49551d..02be26410 100644 --- a/src/core/include/mp-units/core.h +++ b/src/core/include/mp-units/core.h @@ -22,18 +22,12 @@ #pragma once -#include +// IWYU pragma: begin_exports #include #include -#include -#include #include +#include #include #include -#include -#include -#include #include -#include -#include -#include +// IWYU pragma: end_exports diff --git a/src/core/include/mp-units/bits/external/algorithm.h b/src/core/include/mp-units/ext/algorithm.h similarity index 99% rename from src/core/include/mp-units/bits/external/algorithm.h rename to src/core/include/mp-units/ext/algorithm.h index 4464efef2..4161cbb9c 100644 --- a/src/core/include/mp-units/bits/external/algorithm.h +++ b/src/core/include/mp-units/ext/algorithm.h @@ -22,7 +22,7 @@ #pragma once -#include // IWYU pragma: keep +#include // IWYU pragma: keep #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/external/fixed_string.h b/src/core/include/mp-units/ext/fixed_string.h similarity index 98% rename from src/core/include/mp-units/bits/external/fixed_string.h rename to src/core/include/mp-units/ext/fixed_string.h index 402140c1f..7387fff55 100644 --- a/src/core/include/mp-units/bits/external/fixed_string.h +++ b/src/core/include/mp-units/ext/fixed_string.h @@ -23,13 +23,13 @@ #pragma once // TODO use when moved to C++20 modules (parsing takes too long for each translation unit) -#include #include #include // IWYU pragma: keep +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include -#include +#include // IWYU pragma: export #include #include #include diff --git a/src/core/include/mp-units/bits/external/prime.h b/src/core/include/mp-units/ext/prime.h similarity index 99% rename from src/core/include/mp-units/bits/external/prime.h rename to src/core/include/mp-units/ext/prime.h index 06d03dde2..9e0baa08e 100644 --- a/src/core/include/mp-units/bits/external/prime.h +++ b/src/core/include/mp-units/ext/prime.h @@ -22,7 +22,7 @@ #pragma once -#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/external/type_name.h b/src/core/include/mp-units/ext/type_name.h similarity index 100% rename from src/core/include/mp-units/bits/external/type_name.h rename to src/core/include/mp-units/ext/type_name.h diff --git a/src/core/include/mp-units/bits/external/type_traits.h b/src/core/include/mp-units/ext/type_traits.h similarity index 99% rename from src/core/include/mp-units/bits/external/type_traits.h rename to src/core/include/mp-units/ext/type_traits.h index 3322a790d..244ae1605 100644 --- a/src/core/include/mp-units/bits/external/type_traits.h +++ b/src/core/include/mp-units/ext/type_traits.h @@ -22,7 +22,7 @@ #pragma once -#include +#include #include #ifndef MP_UNITS_IN_MODULE_INTERFACE diff --git a/src/core/include/mp-units/format.h b/src/core/include/mp-units/format.h index f3ff7e505..44cda2212 100644 --- a/src/core/include/mp-units/format.h +++ b/src/core/include/mp-units/format.h @@ -20,14 +20,16 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +// IWYU pragma: always_keep + #pragma once -#include #include #include -#include -#include -#include +#include +#include +#include +#include namespace mp_units::detail { diff --git a/src/core/include/mp-units/framework.h b/src/core/include/mp-units/framework.h new file mode 100644 index 000000000..7a61d3517 --- /dev/null +++ b/src/core/include/mp-units/framework.h @@ -0,0 +1,46 @@ +// The MIT License (MIT) +// +// Copyright (c) 2018 Mateusz Pusz +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#pragma once + +// IWYU pragma: begin_exports +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +// IWYU pragma: end_exports diff --git a/src/core/include/mp-units/compare.h b/src/core/include/mp-units/framework/compare.h similarity index 97% rename from src/core/include/mp-units/compare.h rename to src/core/include/mp-units/framework/compare.h index e2fb0deb6..718e9c550 100644 --- a/src/core/include/mp-units/compare.h +++ b/src/core/include/mp-units/framework/compare.h @@ -22,6 +22,7 @@ #pragma once +// IWYU pragma: private, include #include #ifndef MP_UNITS_IN_MODULE_INTERFACE diff --git a/src/core/include/mp-units/customization_points.h b/src/core/include/mp-units/framework/customization_points.h similarity index 98% rename from src/core/include/mp-units/customization_points.h rename to src/core/include/mp-units/framework/customization_points.h index 99578ea4b..4e19ae27d 100644 --- a/src/core/include/mp-units/customization_points.h +++ b/src/core/include/mp-units/framework/customization_points.h @@ -22,8 +22,9 @@ #pragma once -#include +// IWYU pragma: private, include #include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/dimension.h b/src/core/include/mp-units/framework/dimension.h similarity index 97% rename from src/core/include/mp-units/dimension.h rename to src/core/include/mp-units/framework/dimension.h index ae5d233dc..55968c4aa 100644 --- a/src/core/include/mp-units/dimension.h +++ b/src/core/include/mp-units/framework/dimension.h @@ -22,13 +22,15 @@ #pragma once -#include -#include -#include -#include +// IWYU pragma: private, include +#include #include -#include #include +#include +#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/dimension_concepts.h b/src/core/include/mp-units/framework/dimension_concepts.h similarity index 95% rename from src/core/include/mp-units/bits/dimension_concepts.h rename to src/core/include/mp-units/framework/dimension_concepts.h index b458ae5f1..9826e1b01 100644 --- a/src/core/include/mp-units/bits/dimension_concepts.h +++ b/src/core/include/mp-units/framework/dimension_concepts.h @@ -22,10 +22,11 @@ #pragma once -#include -#include +// IWYU pragma: private, include #include -#include +#include +#include +#include namespace mp_units { diff --git a/src/core/include/mp-units/bits/expression_template.h b/src/core/include/mp-units/framework/expression_template.h similarity index 99% rename from src/core/include/mp-units/bits/expression_template.h rename to src/core/include/mp-units/framework/expression_template.h index 5ee18b621..c0eddbda1 100644 --- a/src/core/include/mp-units/bits/expression_template.h +++ b/src/core/include/mp-units/framework/expression_template.h @@ -22,10 +22,10 @@ #pragma once -#include -#include -#include +#include #include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/magnitude.h b/src/core/include/mp-units/framework/magnitude.h similarity index 98% rename from src/core/include/mp-units/bits/magnitude.h rename to src/core/include/mp-units/framework/magnitude.h index 9a3f1cb18..29be6d881 100644 --- a/src/core/include/mp-units/bits/magnitude.h +++ b/src/core/include/mp-units/framework/magnitude.h @@ -22,17 +22,18 @@ #pragma once -#include -#include -#include -#include -#include -#include +// IWYU pragma: private, include +#include +#include #include #include -#include #include -#include +#include +#include +#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/quantity.h b/src/core/include/mp-units/framework/quantity.h similarity index 97% rename from src/core/include/mp-units/quantity.h rename to src/core/include/mp-units/framework/quantity.h index 176cccc44..e759a86ff 100644 --- a/src/core/include/mp-units/quantity.h +++ b/src/core/include/mp-units/framework/quantity.h @@ -23,27 +23,24 @@ #pragma once -#include +// IWYU pragma: private, include #include -#include -#include -#include -#include #include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include -#include +#include // IWYU pragma: export #include #endif -// the below is not used in this header but should be exposed with it -#include -#include - namespace mp_units { namespace detail { diff --git a/src/core/include/mp-units/bits/quantity_cast.h b/src/core/include/mp-units/framework/quantity_cast.h similarity index 93% rename from src/core/include/mp-units/bits/quantity_cast.h rename to src/core/include/mp-units/framework/quantity_cast.h index 0f1c30af5..64d0154be 100644 --- a/src/core/include/mp-units/bits/quantity_cast.h +++ b/src/core/include/mp-units/framework/quantity_cast.h @@ -22,10 +22,11 @@ #pragma once +// IWYU pragma: private, include #include -#include -#include -#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/quantity_concepts.h b/src/core/include/mp-units/framework/quantity_concepts.h similarity index 92% rename from src/core/include/mp-units/bits/quantity_concepts.h rename to src/core/include/mp-units/framework/quantity_concepts.h index 4b7e9aef0..6886b8a97 100644 --- a/src/core/include/mp-units/bits/quantity_concepts.h +++ b/src/core/include/mp-units/framework/quantity_concepts.h @@ -22,11 +22,12 @@ #pragma once +// IWYU pragma: private, include #include -#include -#include -#include -#include +#include +#include +#include +#include namespace mp_units { diff --git a/src/core/include/mp-units/quantity_point.h b/src/core/include/mp-units/framework/quantity_point.h similarity index 98% rename from src/core/include/mp-units/quantity_point.h rename to src/core/include/mp-units/framework/quantity_point.h index 19cb1d43b..5b6699e35 100644 --- a/src/core/include/mp-units/quantity_point.h +++ b/src/core/include/mp-units/framework/quantity_point.h @@ -22,14 +22,15 @@ #pragma once +// IWYU pragma: private, include #include -#include -#include -#include -#include +#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include // IWYU pragma: export #endif namespace mp_units { diff --git a/src/core/include/mp-units/bits/quantity_point_concepts.h b/src/core/include/mp-units/framework/quantity_point_concepts.h similarity index 95% rename from src/core/include/mp-units/bits/quantity_point_concepts.h rename to src/core/include/mp-units/framework/quantity_point_concepts.h index 0a2cc8fcd..ee5ca8eb5 100644 --- a/src/core/include/mp-units/bits/quantity_point_concepts.h +++ b/src/core/include/mp-units/framework/quantity_point_concepts.h @@ -22,12 +22,13 @@ #pragma once +// IWYU pragma: private, include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace mp_units { diff --git a/src/core/include/mp-units/quantity_spec.h b/src/core/include/mp-units/framework/quantity_spec.h similarity index 99% rename from src/core/include/mp-units/quantity_spec.h rename to src/core/include/mp-units/framework/quantity_spec.h index 5d091b41b..bbd4941c5 100644 --- a/src/core/include/mp-units/quantity_spec.h +++ b/src/core/include/mp-units/framework/quantity_spec.h @@ -22,19 +22,20 @@ #pragma once -#include -#include -#include -#include -#include +// IWYU pragma: private, include #include +#include #include -#include -#include -#include -#include #include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/quantity_spec_concepts.h b/src/core/include/mp-units/framework/quantity_spec_concepts.h similarity index 96% rename from src/core/include/mp-units/bits/quantity_spec_concepts.h rename to src/core/include/mp-units/framework/quantity_spec_concepts.h index d04e8bd7c..920e9cf5b 100644 --- a/src/core/include/mp-units/bits/quantity_spec_concepts.h +++ b/src/core/include/mp-units/framework/quantity_spec_concepts.h @@ -22,10 +22,11 @@ #pragma once -#include -#include -#include +// IWYU pragma: private, include +#include #include +#include +#include namespace mp_units { diff --git a/src/core/include/mp-units/reference.h b/src/core/include/mp-units/framework/reference.h similarity index 97% rename from src/core/include/mp-units/reference.h rename to src/core/include/mp-units/framework/reference.h index 7b37c4e9d..b7636810d 100644 --- a/src/core/include/mp-units/reference.h +++ b/src/core/include/mp-units/framework/reference.h @@ -22,11 +22,12 @@ #pragma once +// IWYU pragma: private, include #include #include -#include -#include -#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/reference_concepts.h b/src/core/include/mp-units/framework/reference_concepts.h similarity index 94% rename from src/core/include/mp-units/bits/reference_concepts.h rename to src/core/include/mp-units/framework/reference_concepts.h index 639fcbcac..6ac2187b3 100644 --- a/src/core/include/mp-units/bits/reference_concepts.h +++ b/src/core/include/mp-units/framework/reference_concepts.h @@ -22,9 +22,10 @@ #pragma once +// IWYU pragma: private, include #include -#include -#include +#include +#include namespace mp_units { diff --git a/src/core/include/mp-units/bits/representation_concepts.h b/src/core/include/mp-units/framework/representation_concepts.h similarity index 97% rename from src/core/include/mp-units/bits/representation_concepts.h rename to src/core/include/mp-units/framework/representation_concepts.h index 9f9bfa52e..3528eea48 100644 --- a/src/core/include/mp-units/bits/representation_concepts.h +++ b/src/core/include/mp-units/framework/representation_concepts.h @@ -22,8 +22,9 @@ #pragma once +// IWYU pragma: private, include #include -#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/symbol_text.h b/src/core/include/mp-units/framework/symbol_text.h similarity index 93% rename from src/core/include/mp-units/bits/symbol_text.h rename to src/core/include/mp-units/framework/symbol_text.h index e28d4cdea..b70b3d2f3 100644 --- a/src/core/include/mp-units/bits/symbol_text.h +++ b/src/core/include/mp-units/framework/symbol_text.h @@ -22,15 +22,16 @@ #pragma once -// IWYU pragma: begin_exports -#include -#include +// IWYU pragma: private, include +#include #include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include -#include +#include // IWYU pragma: export #include +#include #endif #if __cpp_lib_text_encoding @@ -42,6 +43,12 @@ static_assert(std::text_encoding::literal().mib() == std::text_encoding::id::UTF namespace mp_units { +MP_UNITS_EXPORT enum class text_encoding : std::int8_t { + unicode, // µs; m³; L²MT⁻³ + ascii, // us; m^3; L^2MT^-3 + default_encoding = unicode +}; + namespace detail { constexpr bool is_basic_literal_character_set_char(char ch) diff --git a/src/core/include/mp-units/system_reference.h b/src/core/include/mp-units/framework/system_reference.h similarity index 93% rename from src/core/include/mp-units/system_reference.h rename to src/core/include/mp-units/framework/system_reference.h index 7bf30383d..39f16bcf0 100644 --- a/src/core/include/mp-units/system_reference.h +++ b/src/core/include/mp-units/framework/system_reference.h @@ -22,11 +22,12 @@ #pragma once -#include +// IWYU pragma: private, include +#include #include -#include -#include -#include +#include +#include +#include MP_UNITS_EXPORT namespace mp_units { diff --git a/src/core/include/mp-units/unit.h b/src/core/include/mp-units/framework/unit.h similarity index 98% rename from src/core/include/mp-units/unit.h rename to src/core/include/mp-units/framework/unit.h index b703d9e15..16d898222 100644 --- a/src/core/include/mp-units/unit.h +++ b/src/core/include/mp-units/framework/unit.h @@ -22,21 +22,22 @@ #pragma once -#include -#include -#include -#include -#include -#include +// IWYU pragma: private, include #include -#include +#include #include -#include -#include #include -#include #include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/bits/unit_concepts.h b/src/core/include/mp-units/framework/unit_concepts.h similarity index 96% rename from src/core/include/mp-units/bits/unit_concepts.h rename to src/core/include/mp-units/framework/unit_concepts.h index 29331c7ad..c536e0b46 100644 --- a/src/core/include/mp-units/bits/unit_concepts.h +++ b/src/core/include/mp-units/framework/unit_concepts.h @@ -22,11 +22,12 @@ #pragma once -#include -#include +// IWYU pragma: private, include #include -#include -#include +#include +#include +#include +#include namespace mp_units { diff --git a/src/core/include/mp-units/bits/value_cast.h b/src/core/include/mp-units/framework/value_cast.h similarity index 95% rename from src/core/include/mp-units/bits/value_cast.h rename to src/core/include/mp-units/framework/value_cast.h index 7b2c6dddf..eaedbd174 100644 --- a/src/core/include/mp-units/bits/value_cast.h +++ b/src/core/include/mp-units/framework/value_cast.h @@ -22,13 +22,14 @@ #pragma once +// IWYU pragma: private, include #include -#include -#include -#include #include -#include -#include +#include +#include +#include +#include +#include MP_UNITS_EXPORT namespace mp_units { diff --git a/src/core/include/mp-units/math.h b/src/core/include/mp-units/math.h index cbd6bc2bc..90a6539a7 100644 --- a/src/core/include/mp-units/math.h +++ b/src/core/include/mp-units/math.h @@ -23,10 +23,10 @@ #pragma once #include -#include -#include -#include -#include +#include +#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/ostream.h b/src/core/include/mp-units/ostream.h index 4b36b0651..e03bb33c0 100644 --- a/src/core/include/mp-units/ostream.h +++ b/src/core/include/mp-units/ostream.h @@ -24,8 +24,8 @@ #pragma once #include -#include -#include +#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/core/include/mp-units/random.h b/src/core/include/mp-units/random.h index b66cfb228..aa097e809 100644 --- a/src/core/include/mp-units/random.h +++ b/src/core/include/mp-units/random.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #ifndef MP_UNITS_IN_MODULE_INTERFACE #include diff --git a/src/systems/include/mp-units/systems/angular/angular.h b/src/systems/include/mp-units/systems/angular/angular.h index e94614406..326ea2274 100644 --- a/src/systems/include/mp-units/systems/angular/angular.h +++ b/src/systems/include/mp-units/systems/angular/angular.h @@ -22,5 +22,11 @@ #pragma once +// IWYU pragma: begin_exports #include #include + +#ifndef MP_UNITS_IN_MODULE_INTERFACE +#include +#endif +// IWYU pragma: end_exports diff --git a/src/systems/include/mp-units/systems/angular/math.h b/src/systems/include/mp-units/systems/angular/math.h index 63a2d8f33..00e03b7aa 100644 --- a/src/systems/include/mp-units/systems/angular/math.h +++ b/src/systems/include/mp-units/systems/angular/math.h @@ -26,10 +26,10 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include -#include -#include +#include +#include +#include +#include #include #endif diff --git a/src/systems/include/mp-units/systems/angular/units.h b/src/systems/include/mp-units/systems/angular/units.h index 0ca22c774..f0de3eadc 100644 --- a/src/systems/include/mp-units/systems/angular/units.h +++ b/src/systems/include/mp-units/systems/angular/units.h @@ -25,9 +25,9 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include -#include +#include +#include +#include #endif MP_UNITS_EXPORT diff --git a/src/systems/include/mp-units/systems/cgs/cgs.h b/src/systems/include/mp-units/systems/cgs/cgs.h index ed7d4ccc6..f3e58e546 100644 --- a/src/systems/include/mp-units/systems/cgs/cgs.h +++ b/src/systems/include/mp-units/systems/cgs/cgs.h @@ -25,9 +25,11 @@ #include #include +// IWYU pragma: begin_exports #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::cgs { diff --git a/src/systems/include/mp-units/systems/hep/hep.h b/src/systems/include/mp-units/systems/hep/hep.h index a2dd17bf8..bddb28222 100644 --- a/src/systems/include/mp-units/systems/hep/hep.h +++ b/src/systems/include/mp-units/systems/hep/hep.h @@ -24,11 +24,13 @@ #include #include - -#ifndef MP_UNITS_IN_MODULE_INTERFACE -#include #include + +// IWYU pragma: begin_exports +#ifndef MP_UNITS_IN_MODULE_INTERFACE +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units { diff --git a/src/systems/include/mp-units/systems/iau/iau.h b/src/systems/include/mp-units/systems/iau/iau.h index bc4c50aa0..abbe963d5 100644 --- a/src/systems/include/mp-units/systems/iau/iau.h +++ b/src/systems/include/mp-units/systems/iau/iau.h @@ -26,9 +26,11 @@ #include #include +// IWYU pragma: begin_exports #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::iau { diff --git a/src/systems/include/mp-units/systems/iec80000/binary_prefixes.h b/src/systems/include/mp-units/systems/iec80000/binary_prefixes.h index 65a2e4982..bfcc9b4f6 100644 --- a/src/systems/include/mp-units/systems/iec80000/binary_prefixes.h +++ b/src/systems/include/mp-units/systems/iec80000/binary_prefixes.h @@ -25,7 +25,7 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif namespace mp_units::iec80000 { diff --git a/src/systems/include/mp-units/systems/iec80000/iec80000.h b/src/systems/include/mp-units/systems/iec80000/iec80000.h index 9fd164b79..0b19046b2 100644 --- a/src/systems/include/mp-units/systems/iec80000/iec80000.h +++ b/src/systems/include/mp-units/systems/iec80000/iec80000.h @@ -27,4 +27,8 @@ #include #include #include + +#ifndef MP_UNITS_IN_MODULE_INTERFACE +#include +#endif // IWYU pragma: end_exports diff --git a/src/systems/include/mp-units/systems/iec80000/quantities.h b/src/systems/include/mp-units/systems/iec80000/quantities.h index 1a8e319f8..04f1191f7 100644 --- a/src/systems/include/mp-units/systems/iec80000/quantities.h +++ b/src/systems/include/mp-units/systems/iec80000/quantities.h @@ -27,8 +27,8 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include +#include +#include #endif MP_UNITS_EXPORT diff --git a/src/systems/include/mp-units/systems/iec80000/units.h b/src/systems/include/mp-units/systems/iec80000/units.h index c8ec5aeb5..9dd80c38d 100644 --- a/src/systems/include/mp-units/systems/iec80000/units.h +++ b/src/systems/include/mp-units/systems/iec80000/units.h @@ -27,7 +27,7 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif MP_UNITS_EXPORT diff --git a/src/systems/include/mp-units/systems/imperial/imperial.h b/src/systems/include/mp-units/systems/imperial/imperial.h index 0b21434e7..56c232cb2 100644 --- a/src/systems/include/mp-units/systems/imperial/imperial.h +++ b/src/systems/include/mp-units/systems/imperial/imperial.h @@ -23,11 +23,14 @@ #pragma once #include + +// IWYU pragma: begin_exports #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::imperial { diff --git a/src/systems/include/mp-units/systems/international/international.h b/src/systems/include/mp-units/systems/international/international.h index ba37696fa..0b680ce3c 100644 --- a/src/systems/include/mp-units/systems/international/international.h +++ b/src/systems/include/mp-units/systems/international/international.h @@ -26,9 +26,11 @@ #include #include +// IWYU pragma: begin_exports #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::international { diff --git a/src/systems/include/mp-units/systems/isq/atomic_and_nuclear_physics.h b/src/systems/include/mp-units/systems/isq/atomic_and_nuclear_physics.h index 7bc3ca10f..f5d1afae2 100644 --- a/src/systems/include/mp-units/systems/isq/atomic_and_nuclear_physics.h +++ b/src/systems/include/mp-units/systems/isq/atomic_and_nuclear_physics.h @@ -23,11 +23,14 @@ #pragma once #include + +// IWYU pragma: begin_exports #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::isq { diff --git a/src/systems/include/mp-units/systems/isq/base_quantities.h b/src/systems/include/mp-units/systems/isq/base_quantities.h index 89bc15eb8..6ed87f7c8 100644 --- a/src/systems/include/mp-units/systems/isq/base_quantities.h +++ b/src/systems/include/mp-units/systems/isq/base_quantities.h @@ -25,9 +25,9 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include -#include +#include +#include +#include #endif MP_UNITS_EXPORT diff --git a/src/systems/include/mp-units/systems/isq/electromagnetism.h b/src/systems/include/mp-units/systems/isq/electromagnetism.h index c4722ec54..bdb5bc8b2 100644 --- a/src/systems/include/mp-units/systems/isq/electromagnetism.h +++ b/src/systems/include/mp-units/systems/isq/electromagnetism.h @@ -23,13 +23,16 @@ #pragma once #include -#include #include #include +// IWYU pragma: begin_exports +#include + #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::isq { diff --git a/src/systems/include/mp-units/systems/isq/light_and_radiation.h b/src/systems/include/mp-units/systems/isq/light_and_radiation.h index b558a12bf..bfca2dbfa 100644 --- a/src/systems/include/mp-units/systems/isq/light_and_radiation.h +++ b/src/systems/include/mp-units/systems/isq/light_and_radiation.h @@ -23,13 +23,16 @@ #pragma once #include -#include #include #include +// IWYU pragma: begin_exports +#include + #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::isq { diff --git a/src/systems/include/mp-units/systems/isq/mechanics.h b/src/systems/include/mp-units/systems/isq/mechanics.h index 95e90a984..411571434 100644 --- a/src/systems/include/mp-units/systems/isq/mechanics.h +++ b/src/systems/include/mp-units/systems/isq/mechanics.h @@ -23,12 +23,15 @@ #pragma once #include -#include #include +// IWYU pragma: begin_exports +#include + #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::isq { diff --git a/src/systems/include/mp-units/systems/isq/si_quantities.h b/src/systems/include/mp-units/systems/isq/si_quantities.h index 3d42bd53f..9486c3e31 100644 --- a/src/systems/include/mp-units/systems/isq/si_quantities.h +++ b/src/systems/include/mp-units/systems/isq/si_quantities.h @@ -23,11 +23,14 @@ #pragma once #include + +// IWYU pragma: begin_exports #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::isq { diff --git a/src/systems/include/mp-units/systems/isq/space_and_time.h b/src/systems/include/mp-units/systems/isq/space_and_time.h index e72cb9ebb..2157a299b 100644 --- a/src/systems/include/mp-units/systems/isq/space_and_time.h +++ b/src/systems/include/mp-units/systems/isq/space_and_time.h @@ -23,11 +23,14 @@ #pragma once #include + +// IWYU pragma: begin_exports #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::isq { diff --git a/src/systems/include/mp-units/systems/isq/thermodynamics.h b/src/systems/include/mp-units/systems/isq/thermodynamics.h index 75743e31c..aed8edf96 100644 --- a/src/systems/include/mp-units/systems/isq/thermodynamics.h +++ b/src/systems/include/mp-units/systems/isq/thermodynamics.h @@ -24,12 +24,15 @@ #include #include -#include #include +// IWYU pragma: begin_exports +#include + #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::isq { diff --git a/src/systems/include/mp-units/systems/isq_angle/isq_angle.h b/src/systems/include/mp-units/systems/isq_angle/isq_angle.h index 2b4db46c5..221719e79 100644 --- a/src/systems/include/mp-units/systems/isq_angle/isq_angle.h +++ b/src/systems/include/mp-units/systems/isq_angle/isq_angle.h @@ -23,13 +23,16 @@ #pragma once #include + +// IWYU pragma: begin_exports #include #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include +#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::isq_angle { diff --git a/src/systems/include/mp-units/systems/natural/natural.h b/src/systems/include/mp-units/systems/natural/natural.h index 0b534cbf9..b56ee7252 100644 --- a/src/systems/include/mp-units/systems/natural/natural.h +++ b/src/systems/include/mp-units/systems/natural/natural.h @@ -27,10 +27,11 @@ #include #include +// IWYU pragma: begin_exports #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::natural { diff --git a/src/systems/include/mp-units/systems/si/chrono.h b/src/systems/include/mp-units/systems/si/chrono.h index 7e7c87e71..b8bcc5893 100644 --- a/src/systems/include/mp-units/systems/si/chrono.h +++ b/src/systems/include/mp-units/systems/si/chrono.h @@ -28,8 +28,8 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include +#include +#include #include #endif diff --git a/src/systems/include/mp-units/systems/si/constants.h b/src/systems/include/mp-units/systems/si/constants.h index 87ad40127..6f4afef6c 100644 --- a/src/systems/include/mp-units/systems/si/constants.h +++ b/src/systems/include/mp-units/systems/si/constants.h @@ -26,7 +26,7 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif MP_UNITS_EXPORT diff --git a/src/systems/include/mp-units/systems/si/math.h b/src/systems/include/mp-units/systems/si/math.h index 371fb2f5c..400a5a25a 100644 --- a/src/systems/include/mp-units/systems/si/math.h +++ b/src/systems/include/mp-units/systems/si/math.h @@ -27,10 +27,10 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include -#include -#include +#include +#include +#include +#include #include #endif diff --git a/src/systems/include/mp-units/systems/si/prefixes.h b/src/systems/include/mp-units/systems/si/prefixes.h index 690778889..da2fb5b7a 100644 --- a/src/systems/include/mp-units/systems/si/prefixes.h +++ b/src/systems/include/mp-units/systems/si/prefixes.h @@ -25,7 +25,7 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif namespace mp_units::si { diff --git a/src/systems/include/mp-units/systems/si/si.h b/src/systems/include/mp-units/systems/si/si.h index b2668de5e..b9b374d75 100644 --- a/src/systems/include/mp-units/systems/si/si.h +++ b/src/systems/include/mp-units/systems/si/si.h @@ -22,9 +22,15 @@ #pragma once +// IWYU pragma: begin_exports #include #include #include #include #include #include + +#ifndef MP_UNITS_IN_MODULE_INTERFACE +#include +#endif +// IWYU pragma: end_exports diff --git a/src/systems/include/mp-units/systems/si/units.h b/src/systems/include/mp-units/systems/si/units.h index 360028e0f..36d7772fc 100644 --- a/src/systems/include/mp-units/systems/si/units.h +++ b/src/systems/include/mp-units/systems/si/units.h @@ -27,8 +27,8 @@ #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include -#include +#include +#include #endif MP_UNITS_EXPORT diff --git a/src/systems/include/mp-units/systems/typographic/typographic.h b/src/systems/include/mp-units/systems/typographic/typographic.h index 82186177a..8f2b8563e 100644 --- a/src/systems/include/mp-units/systems/typographic/typographic.h +++ b/src/systems/include/mp-units/systems/typographic/typographic.h @@ -25,9 +25,11 @@ #include #include +// IWYU pragma: begin_exports #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::typographic { diff --git a/src/systems/include/mp-units/systems/usc/usc.h b/src/systems/include/mp-units/systems/usc/usc.h index 7a1971fd7..d8da48f2b 100644 --- a/src/systems/include/mp-units/systems/usc/usc.h +++ b/src/systems/include/mp-units/systems/usc/usc.h @@ -23,11 +23,14 @@ #pragma once #include + +// IWYU pragma: begin_exports #include #ifndef MP_UNITS_IN_MODULE_INTERFACE -#include +#include #endif +// IWYU pragma: end_exports MP_UNITS_EXPORT namespace mp_units::usc { diff --git a/test/runtime/almost_equals.h b/test/runtime/almost_equals.h index 471f2b794..9a6f3bfd3 100644 --- a/test/runtime/almost_equals.h +++ b/test/runtime/almost_equals.h @@ -27,7 +27,7 @@ import mp_units; #else #include -#include +#include #endif namespace mp_units { diff --git a/test/runtime/atomic_test.cpp b/test/runtime/atomic_test.cpp index ba382edf7..182e55a4e 100644 --- a/test/runtime/atomic_test.cpp +++ b/test/runtime/atomic_test.cpp @@ -20,11 +20,15 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include -#include +#include #include +#ifdef MP_UNITS_MODULES +import mp_units; +#else +#include // IWYU pragma: keep +#include +#include +#endif using namespace mp_units; using namespace mp_units::si::unit_symbols; diff --git a/test/runtime/distribution_test.cpp b/test/runtime/distribution_test.cpp index d3786989b..faa842717 100644 --- a/test/runtime/distribution_test.cpp +++ b/test/runtime/distribution_test.cpp @@ -22,16 +22,18 @@ #include #include +#include +#include #include #include #include #ifdef MP_UNITS_MODULES import mp_units; #else -#include +#include // IWYU pragma: keep #include -#include -#include +#include +#include #endif diff --git a/test/runtime/fmt_test.cpp b/test/runtime/fmt_test.cpp index d1a270288..54c9221d7 100644 --- a/test/runtime/fmt_test.cpp +++ b/test/runtime/fmt_test.cpp @@ -30,9 +30,9 @@ #ifdef MP_UNITS_MODULES import mp_units; #else -#include #include -#include +#include +#include // IWYU pragma: keep #include #include #include diff --git a/test/runtime/linear_algebra_test.cpp b/test/runtime/linear_algebra_test.cpp index 5779fbb99..bbf584db1 100644 --- a/test/runtime/linear_algebra_test.cpp +++ b/test/runtime/linear_algebra_test.cpp @@ -22,15 +22,14 @@ #include #include -#include #include +#include #ifdef MP_UNITS_MODULES import mp_units; #else -#include #include #include -#include +#include // IWYU pragma: keep #include #include #include diff --git a/test/runtime/math_test.cpp b/test/runtime/math_test.cpp index 7eab3fb16..578058e39 100644 --- a/test/runtime/math_test.cpp +++ b/test/runtime/math_test.cpp @@ -21,13 +21,14 @@ // SOFTWARE. #include "almost_equals.h" -#include +#include +#include #include #ifdef MP_UNITS_MODULES import mp_units; #else #include -#include +#include // IWYU pragma: keep #include #include #include diff --git a/test/static/cgs_test.cpp b/test/static/cgs_test.cpp index c58c58859..bcd927af4 100644 --- a/test/static/cgs_test.cpp +++ b/test/static/cgs_test.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include template requires mp_units::is_scalar diff --git a/test/static/chrono_test.cpp b/test/static/chrono_test.cpp index ba881fa18..12319ea22 100644 --- a/test/static/chrono_test.cpp +++ b/test/static/chrono_test.cpp @@ -21,9 +21,12 @@ // SOFTWARE. #include "test_tools.h" -#include -#include +#include +#include // IWYU pragma: keep +#include #include +#include +#include #include namespace { diff --git a/test/static/compare_test.cpp b/test/static/compare_test.cpp index 5de812d91..422dd5690 100644 --- a/test/static/compare_test.cpp +++ b/test/static/compare_test.cpp @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include // IWYU pragma: keep #include namespace { diff --git a/test/static/concepts_test.cpp b/test/static/concepts_test.cpp index e97a1df73..38d598f3e 100644 --- a/test/static/concepts_test.cpp +++ b/test/static/concepts_test.cpp @@ -20,8 +20,6 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include #include #include #include @@ -29,6 +27,7 @@ #include #include #include +#include template inline constexpr bool mp_units::is_scalar> = true; diff --git a/test/static/custom_rep_test_min_impl.cpp b/test/static/custom_rep_test_min_impl.cpp index ef3ba8db7..75e633303 100644 --- a/test/static/custom_rep_test_min_impl.cpp +++ b/test/static/custom_rep_test_min_impl.cpp @@ -20,7 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include +#include +#include #include #include #include diff --git a/test/static/dimension_symbol_test.cpp b/test/static/dimension_symbol_test.cpp index 048ac6924..f1ce708e5 100644 --- a/test/static/dimension_symbol_test.cpp +++ b/test/static/dimension_symbol_test.cpp @@ -20,7 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. +#include #include +#include namespace { diff --git a/test/static/dimension_test.cpp b/test/static/dimension_test.cpp index 808620d7d..33f802623 100644 --- a/test/static/dimension_test.cpp +++ b/test/static/dimension_test.cpp @@ -21,11 +21,9 @@ // SOFTWARE. #include "test_tools.h" -#include -#include -#include -#include -#include +#include +#include +#include namespace { diff --git a/test/static/fixed_string_test.cpp b/test/static/fixed_string_test.cpp index 97f1c15fa..93890a98e 100644 --- a/test/static/fixed_string_test.cpp +++ b/test/static/fixed_string_test.cpp @@ -20,7 +20,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include +#include using namespace mp_units; diff --git a/test/static/fractional_exponent_quantity.cpp b/test/static/fractional_exponent_quantity.cpp index ce82795d0..aca6f206e 100644 --- a/test/static/fractional_exponent_quantity.cpp +++ b/test/static/fractional_exponent_quantity.cpp @@ -21,8 +21,10 @@ // SOFTWARE. #include +#include #include #include +#include #include namespace { diff --git a/test/static/hep_test.cpp b/test/static/hep_test.cpp index 93a953219..82e2a07dc 100644 --- a/test/static/hep_test.cpp +++ b/test/static/hep_test.cpp @@ -22,7 +22,6 @@ #include #include -#include #include template diff --git a/test/static/iau_test.cpp b/test/static/iau_test.cpp index d05fc28e0..ca298e98a 100644 --- a/test/static/iau_test.cpp +++ b/test/static/iau_test.cpp @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include // IWYU pragma: keep #include #include #include diff --git a/test/static/iec80000_test.cpp b/test/static/iec80000_test.cpp index 2718758fa..2b3b3828a 100644 --- a/test/static/iec80000_test.cpp +++ b/test/static/iec80000_test.cpp @@ -20,10 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include #include -#include +#include +#include /* ************** DERIVED DIMENSIONS THAT INCLUDE UNITS WITH SPECIAL NAMES **************** */ diff --git a/test/static/imperial_test.cpp b/test/static/imperial_test.cpp index 7b3b3a741..8809ca19b 100644 --- a/test/static/imperial_test.cpp +++ b/test/static/imperial_test.cpp @@ -22,7 +22,6 @@ #include #include -#include namespace { diff --git a/test/static/isq_angle_test.cpp b/test/static/isq_angle_test.cpp index ef5970766..09d0b9eeb 100644 --- a/test/static/isq_angle_test.cpp +++ b/test/static/isq_angle_test.cpp @@ -21,7 +21,7 @@ // SOFTWARE. #include -#include +#include namespace { diff --git a/test/static/isq_test.cpp b/test/static/isq_test.cpp index 41cd4ec5e..1cba28034 100644 --- a/test/static/isq_test.cpp +++ b/test/static/isq_test.cpp @@ -20,9 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include #include -#include +#include namespace { diff --git a/test/static/math_test.cpp b/test/static/math_test.cpp index 68c878486..d27c4c02c 100644 --- a/test/static/math_test.cpp +++ b/test/static/math_test.cpp @@ -22,9 +22,7 @@ #include // IWYU pragma: keep #include -#include -#include -#include +#include namespace { diff --git a/test/static/natural_test.cpp b/test/static/natural_test.cpp index 7880642bf..06a2b5978 100644 --- a/test/static/natural_test.cpp +++ b/test/static/natural_test.cpp @@ -21,6 +21,8 @@ // SOFTWARE. #include +#include +#include #include template diff --git a/test/static/prime_test.cpp b/test/static/prime_test.cpp index 0fd724bd1..21a7b5710 100644 --- a/test/static/prime_test.cpp +++ b/test/static/prime_test.cpp @@ -20,8 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include +#include +#include +#include #include using namespace mp_units::detail; diff --git a/test/static/quantity_point_test.cpp b/test/static/quantity_point_test.cpp index f9d4e314d..01e3a2714 100644 --- a/test/static/quantity_point_test.cpp +++ b/test/static/quantity_point_test.cpp @@ -21,10 +21,13 @@ // SOFTWARE. #include "test_tools.h" -#include +#include +#include #include #include #include +#include +#include #include #include #include diff --git a/test/static/quantity_spec_test.cpp b/test/static/quantity_spec_test.cpp index 46c233fa6..49a2d87ae 100644 --- a/test/static/quantity_spec_test.cpp +++ b/test/static/quantity_spec_test.cpp @@ -21,10 +21,9 @@ // SOFTWARE. #include "test_tools.h" -#include -#include -#include -#include +#include +#include +#include namespace { diff --git a/test/static/quantity_test.cpp b/test/static/quantity_test.cpp index 5635622b7..5dfacbb2f 100644 --- a/test/static/quantity_test.cpp +++ b/test/static/quantity_test.cpp @@ -21,12 +21,17 @@ // SOFTWARE. #include "test_tools.h" -#include +#include +#include +#include #include #include #include +#include +#include #include #include +#include #include template<> diff --git a/test/static/reference_test.cpp b/test/static/reference_test.cpp index a1045ce3c..4c4803a72 100644 --- a/test/static/reference_test.cpp +++ b/test/static/reference_test.cpp @@ -21,13 +21,10 @@ // SOFTWARE. #include "test_tools.h" -#include -#include -#include -#include -#include +#include #include -#include +#include +#include namespace { diff --git a/test/static/symbol_text_test.cpp b/test/static/symbol_text_test.cpp index f11d07891..10de7f925 100644 --- a/test/static/symbol_text_test.cpp +++ b/test/static/symbol_text_test.cpp @@ -20,7 +20,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include +#include using namespace mp_units; diff --git a/test/static/test_tools.h b/test/static/test_tools.h index 2c9bf801a..73f796130 100644 --- a/test/static/test_tools.h +++ b/test/static/test_tools.h @@ -22,8 +22,8 @@ #pragma once -#include -#include +#include +#include #include template diff --git a/test/static/type_list_test.cpp b/test/static/type_list_test.cpp index 1c994f358..6733a231c 100644 --- a/test/static/type_list_test.cpp +++ b/test/static/type_list_test.cpp @@ -20,8 +20,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include +#include +#include #include namespace { diff --git a/test/static/unit_symbol_test.cpp b/test/static/unit_symbol_test.cpp index fcbebbdb4..cec62112c 100644 --- a/test/static/unit_symbol_test.cpp +++ b/test/static/unit_symbol_test.cpp @@ -23,6 +23,7 @@ #include #include #include +#include namespace { diff --git a/test/static/unit_test.cpp b/test/static/unit_test.cpp index 590a147fa..2d4a6092e 100644 --- a/test/static/unit_test.cpp +++ b/test/static/unit_test.cpp @@ -21,11 +21,10 @@ // SOFTWARE. #include "test_tools.h" -#include -#include -#include +#include +#include #include -#include +#include namespace { @@ -336,11 +335,11 @@ static_assert(is_of_type>); -static_assert(std::is_same_v); -static_assert(std::is_same_v); -static_assert(std::is_same_v); -static_assert(std::is_same_v); -static_assert(std::is_same_v); +static_assert(is_same_v); +static_assert(is_same_v); +static_assert(is_same_v); +static_assert(is_same_v); +static_assert(is_same_v); // derived unit normalization diff --git a/test/static/usc_test.cpp b/test/static/usc_test.cpp index 45248d249..3f05ec496 100644 --- a/test/static/usc_test.cpp +++ b/test/static/usc_test.cpp @@ -20,10 +20,11 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include #include #include -#include +#include +#include #include namespace {