refactor: 💥 framework.h introduced + IWYU

This commit is contained in:
Mateusz Pusz
2024-04-24 20:53:54 +02:00
parent 2a05f931e7
commit c066104af7
123 changed files with 478 additions and 337 deletions

View File

@@ -27,7 +27,7 @@
import mp_units;
#else
#include <mp-units/format.h>
#include <mp-units/quantity.h>
#include <mp-units/framework/quantity.h>
#endif
namespace mp_units {

View File

@@ -20,11 +20,15 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <catch2/catch_all.hpp>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/units.h>
#include <catch2/catch_test_macros.hpp>
#include <atomic>
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/ostream.h> // IWYU pragma: keep
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/si.h>
#endif
using namespace mp_units;
using namespace mp_units::si::unit_symbols;

View File

@@ -22,16 +22,18 @@
#include <catch2/catch_test_macros.hpp>
#include <array>
#include <cstddef>
#include <cstdint>
#include <initializer_list>
#include <random>
#include <vector>
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/ostream.h>
#include <mp-units/ostream.h> // IWYU pragma: keep
#include <mp-units/random.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/units.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/si.h>
#endif

View File

@@ -30,9 +30,9 @@
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/customization_points.h>
#include <mp-units/format.h>
#include <mp-units/ostream.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/ostream.h> // IWYU pragma: keep
#include <mp-units/systems/cgs/cgs.h>
#include <mp-units/systems/isq/electromagnetism.h>
#include <mp-units/systems/isq/mechanics.h>

View File

@@ -22,15 +22,14 @@
#include <catch2/catch_test_macros.hpp>
#include <mp-units/compat_macros.h>
#include <cmath>
#include <matrix>
#include <ostream>
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/customization_points.h>
#include <mp-units/format.h>
#include <mp-units/math.h>
#include <mp-units/ostream.h>
#include <mp-units/ostream.h> // IWYU pragma: keep
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/si.h>

View File

@@ -21,13 +21,14 @@
// SOFTWARE.
#include "almost_equals.h"
#include <catch2/catch_all.hpp>
#include <catch2/catch_test_macros.hpp>
#include <catch2/matchers/catch_matchers.hpp>
#include <limits>
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/math.h>
#include <mp-units/ostream.h>
#include <mp-units/ostream.h> // IWYU pragma: keep
#include <mp-units/systems/angular/angular.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/si.h>

View File

@@ -24,7 +24,7 @@
#include <mp-units/systems/cgs/cgs.h>
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/units.h>
template<class T>
requires mp_units::is_scalar<T>

View File

@@ -21,9 +21,12 @@
// SOFTWARE.
#include "test_tools.h"
#include <mp-units/bits/external/type_traits.h>
#include <mp-units/quantity_point.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework/quantity_point.h> // IWYU pragma: keep
#include <mp-units/systems/isq/si_quantities.h>
#include <mp-units/systems/si/si.h>
#include <chrono>
#include <concepts>
#include <ratio>
namespace {

View File

@@ -20,7 +20,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/compare.h>
#include <mp-units/framework/compare.h> // IWYU pragma: keep
#include <mp-units/systems/si/si.h>
namespace {

View File

@@ -20,8 +20,6 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/concepts.h>
#include <mp-units/quantity_point.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/natural/natural.h>
#include <mp-units/systems/si/si.h>
@@ -29,6 +27,7 @@
#include <complex>
#include <optional>
#include <string>
#include <type_traits>
template<typename T>
inline constexpr bool mp_units::is_scalar<std::complex<T>> = true;

View File

@@ -20,7 +20,9 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/framework.h>
#include <mp-units/systems/si/prefixes.h>
#include <mp-units/systems/si/units.h>
#include <concepts>
#include <type_traits>

View File

@@ -20,7 +20,9 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/framework.h>
#include <mp-units/systems/isq/isq.h>
#include <string_view>
namespace {

View File

@@ -21,11 +21,9 @@
// SOFTWARE.
#include "test_tools.h"
#include <mp-units/dimension.h>
#include <mp-units/quantity.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/reference.h>
#include <mp-units/unit.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework.h>
#include <type_traits>
namespace {

View File

@@ -20,7 +20,8 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/bits/external/fixed_string.h>
#include <mp-units/ext/fixed_string.h>
#include <string_view>
using namespace mp_units;

View File

@@ -21,8 +21,10 @@
// SOFTWARE.
#include <mp-units/compat_macros.h>
#include <mp-units/framework.h>
#include <mp-units/math.h>
#include <mp-units/systems/isq/electromagnetism.h>
#include <mp-units/systems/isq/si_quantities.h>
#include <mp-units/systems/si/units.h>
namespace {

View File

@@ -22,7 +22,6 @@
#include <mp-units/systems/hep/hep.h>
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/si.h>
template<class T>

View File

@@ -20,7 +20,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/math.h>
#include <mp-units/math.h> // IWYU pragma: keep
#include <mp-units/systems/iau/iau.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/si.h>

View File

@@ -20,10 +20,9 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/quantity.h>
#include <mp-units/reference.h>
#include <mp-units/systems/iec80000/iec80000.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/isq/base_quantities.h>
#include <mp-units/systems/si/si.h>
/* ************** DERIVED DIMENSIONS THAT INCLUDE UNITS WITH SPECIAL NAMES **************** */

View File

@@ -22,7 +22,6 @@
#include <mp-units/systems/imperial/imperial.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/unit_symbols.h>
namespace {

View File

@@ -21,7 +21,7 @@
// SOFTWARE.
#include <mp-units/systems/isq_angle/isq_angle.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/si.h>
namespace {

View File

@@ -20,9 +20,9 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/reference.h>
#include <mp-units/framework.h>
#include <mp-units/systems/isq/isq.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/si.h>
namespace {

View File

@@ -22,9 +22,7 @@
#include <mp-units/math.h> // IWYU pragma: keep
#include <mp-units/systems/international/international.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <optional>
#include <mp-units/systems/si/si.h>
namespace {

View File

@@ -21,6 +21,8 @@
// SOFTWARE.
#include <mp-units/math.h>
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/natural/natural.h>
template<class T>

View File

@@ -20,8 +20,9 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/bits/external/prime.h>
#include <type_traits>
#include <mp-units/ext/prime.h>
#include <array>
#include <cstddef>
#include <utility>
using namespace mp_units::detail;

View File

@@ -21,10 +21,13 @@
// SOFTWARE.
#include "test_tools.h"
#include <mp-units/quantity_point.h>
#include <mp-units/compat_macros.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/systems/isq/isq.h>
#include <mp-units/systems/si/si.h>
#include <mp-units/systems/usc/usc.h>
#include <chrono>
#include <concepts>
#include <cstdint>
#include <limits>
#include <type_traits>

View File

@@ -21,10 +21,9 @@
// SOFTWARE.
#include "test_tools.h"
#include <mp-units/quantity.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/reference.h>
#include <mp-units/unit.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework.h>
#include <type_traits>
namespace {

View File

@@ -21,12 +21,17 @@
// SOFTWARE.
#include "test_tools.h"
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/ext/fixed_string.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/si.h>
#include <chrono>
#include <concepts>
#include <cstdint>
#include <limits>
#include <type_traits>
#include <utility>
template<>

View File

@@ -21,13 +21,10 @@
// SOFTWARE.
#include "test_tools.h"
#include <mp-units/dimension.h>
#include <mp-units/quantity.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/reference.h>
#include <mp-units/system_reference.h>
#include <mp-units/framework.h>
#include <mp-units/systems/si/prefixes.h>
#include <mp-units/unit.h>
#include <cstdint>
#include <type_traits>
namespace {

View File

@@ -20,7 +20,8 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/bits/symbol_text.h>
#include <mp-units/ext/fixed_string.h>
#include <mp-units/framework.h>
using namespace mp_units;

View File

@@ -22,8 +22,8 @@
#pragma once
#include <mp-units/bits/external/hacks.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/framework/quantity_spec.h>
#include <type_traits>
template<auto V, typename T>

View File

@@ -20,8 +20,8 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/bits/external/type_list.h>
#include <mp-units/bits/external/type_traits.h>
#include <mp-units/bits/type_list.h>
#include <mp-units/ext/type_traits.h>
#include <type_traits>
namespace {

View File

@@ -23,6 +23,7 @@
#include <mp-units/systems/iau/iau.h>
#include <mp-units/systems/iec80000/iec80000.h>
#include <mp-units/systems/si/si.h>
#include <string_view>
namespace {

View File

@@ -21,11 +21,10 @@
// SOFTWARE.
#include "test_tools.h"
#include <mp-units/dimension.h>
#include <mp-units/quantity.h>
#include <mp-units/reference.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework.h>
#include <mp-units/systems/si/prefixes.h>
#include <mp-units/unit.h>
#include <type_traits>
namespace {
@@ -336,11 +335,11 @@ static_assert(is_of_type<speed_of_light_in_vacuum * gram * standard_gravity,
static_assert(is_of_type<gram * standard_gravity * speed_of_light_in_vacuum,
derived_unit<speed_of_light_in_vacuum_, gram_, standard_gravity_>>);
static_assert(std::is_same_v<decltype(inverse(second) * metre), decltype(metre / second)>);
static_assert(std::is_same_v<decltype(metre * inverse(second)), decltype(metre / second)>);
static_assert(std::is_same_v<decltype((metre / second) * inverse(second)), decltype(metre / second / second)>);
static_assert(std::is_same_v<decltype((metre / second) * inverse(second)), decltype(metre / (second * second))>);
static_assert(std::is_same_v<decltype((metre / second) * inverse(second)), decltype(metre / square(second))>);
static_assert(is_same_v<decltype(inverse(second) * metre), decltype(metre / second)>);
static_assert(is_same_v<decltype(metre * inverse(second)), decltype(metre / second)>);
static_assert(is_same_v<decltype((metre / second) * inverse(second)), decltype(metre / second / second)>);
static_assert(is_same_v<decltype((metre / second) * inverse(second)), decltype(metre / (second * second))>);
static_assert(is_same_v<decltype((metre / second) * inverse(second)), decltype(metre / square(second))>);
// derived unit normalization

View File

@@ -20,10 +20,11 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/prefixes.h>
#include <mp-units/systems/si/units.h>
#include <mp-units/systems/usc/usc.h>
namespace {