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

@ -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

View File

@ -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")

View File

@ -33,8 +33,8 @@ import mp_units;
#include <mp-units/ostream.h>
#include <mp-units/systems/cgs/cgs.h>
#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 <mp-units/systems/isq/isq.h>
#include <mp-units/systems/si/si.h>
#endif
namespace {

View File

@ -24,7 +24,7 @@
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/math.h> // IWYU pragma: keep
#include <mp-units/math.h>
#include <mp-units/ostream.h>
#include <mp-units/systems/isq/electromagnetism.h>
#include <mp-units/systems/si/si.h>

View File

@ -16,15 +16,14 @@
*/
#include <mp-units/compat_macros.h>
#include <concepts>
#include <iostream>
#include <type_traits>
#include <string>
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/format.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>
#include <mp-units/systems/si/si.h>
#endif
/*

View File

@ -21,14 +21,16 @@
// SOFTWARE.
#include <mp-units/compat_macros.h>
#include <concepts>
#include <iostream>
#include <map>
#include <string_view>
#include <utility>
#ifdef MP_UNITS_MODULES
import mp_units.core;
#else
#include <mp-units/framework.h>
#include <mp-units/ostream.h>
#include <mp-units/quantity.h>
#include <mp-units/quantity_point.h>
#endif
using namespace mp_units;

View File

@ -36,8 +36,8 @@
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/framework/quantity_point.h>
#include <mp-units/math.h> // IWYU pragma: keep
#include <mp-units/quantity_point.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/chrono.h>
#endif

View File

@ -31,10 +31,8 @@
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/compare.h>
#include <mp-units/format.h>
#include <mp-units/quantity.h>
#include <mp-units/quantity_point.h>
#include <mp-units/framework.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/si.h>
#endif

View File

@ -23,7 +23,7 @@
#pragma once
#include "validated_type.h"
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/compat_macros.h>
#include <algorithm>
#include <concepts>
@ -32,7 +32,7 @@
import mp_units.core;
#else
#include <mp-units/bits/fmt.h>
#include <mp-units/customization_points.h>
#include <mp-units/framework/customization_points.h>
#endif
template<std::movable T, MP_UNITS_CONSTRAINED_NTTP_WORKAROUND(std::convertible_to<T>) auto Min,

View File

@ -23,16 +23,17 @@
#pragma once
#include <gsl/gsl-lite.hpp>
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/compat_macros.h>
#include <compare> // IWYU pragma: export
#include <ostream>
#include <utility>
#ifdef MP_UNITS_MODULES
import mp_units.core;
#else
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/fmt.h>
#include <mp-units/customization_points.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/framework/customization_points.h>
#endif
inline constexpr struct validated_tag {

View File

@ -20,17 +20,21 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#include <mp-units/bits/hacks.h>
#include <mp-units/compat_macros.h>
#include <cmath>
#include <compare> // IWYU pragma: export
#include <cstdlib>
#include <exception>
#include <iostream>
#include <utility>
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/framework.h>
#include <mp-units/ostream.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>
#include <mp-units/systems/si/si.h>
#endif
namespace {

View File

@ -25,7 +25,7 @@
#include <chrono>
#include <iostream>
#include <numbers>
#include <utility>
#include <string>
#ifdef MP_UNITS_MODULES
import mp_units;
#else

View File

@ -24,10 +24,9 @@
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/math.h>
#include <mp-units/ostream.h>
#include <mp-units/systems/isq_angle/isq_angle.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/si.h>
#endif
template<class T>

View File

@ -28,9 +28,9 @@ import mp_units;
#include <mp-units/math.h>
#include <mp-units/ostream.h>
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/natural/natural.h>
#include <mp-units/systems/si/constants.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/si.h>
#endif
template<class T>

View File

@ -27,8 +27,8 @@
#ifdef MP_UNITS_MODULES
import mp_units;
#else
#include <mp-units/framework/quantity_point.h>
#include <mp-units/ostream.h>
#include <mp-units/quantity_point.h>
#include <mp-units/systems/international/international.h>
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/unit_symbols.h>

View File

@ -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
)

View File

@ -23,7 +23,7 @@
#pragma once
#include <gsl/gsl-lite.hpp>
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/compat_macros.h>
#include <array>
#include <cmath>

View File

@ -22,9 +22,9 @@
#pragma once
#include <mp-units/bits/expression_template.h>
#include <mp-units/bits/unit_concepts.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/expression_template.h>
#include <mp-units/framework/quantity_spec.h>
#include <mp-units/framework/unit_concepts.h>
namespace mp_units::detail {

View File

@ -22,7 +22,7 @@
#pragma once
#include <mp-units/bits/quantity_spec_concepts.h>
#include <mp-units/framework/quantity_spec_concepts.h>
namespace mp_units::detail {

View File

@ -22,12 +22,12 @@
#pragma once
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/bits/module_macros.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <gsl/gsl-lite.hpp>
#include <compare>
#include <compare> // IWYU pragma: export
#include <cstdint>
#include <numeric>
#endif

View File

@ -22,11 +22,11 @@
#pragma once
#include <mp-units/bits/external/type_traits.h>
#include <mp-units/bits/magnitude.h>
#include <mp-units/bits/quantity_concepts.h>
#include <mp-units/bits/reference_concepts.h>
#include <mp-units/unit.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework/magnitude.h>
#include <mp-units/framework/quantity_concepts.h>
#include <mp-units/framework/reference_concepts.h>
#include <mp-units/framework/unit.h>
namespace mp_units::detail {

View File

@ -22,18 +22,16 @@
#pragma once
#include <mp-units/bits/external/fixed_string.h>
#include <mp-units/bits/external/type_traits.h>
#include <mp-units/bits/ratio.h>
#include <mp-units/bits/symbol_text.h>
#include <mp-units/ext/fixed_string.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework/symbol_text.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <cstdint>
#endif
namespace mp_units {
namespace detail {
namespace mp_units::detail {
template<std::intmax_t Value>
requires(0 <= Value) && (Value < 10)
@ -92,16 +90,6 @@ template<std::intmax_t Value>
return regular<Value / 10>() + regular<Value % 10>();
}
} // 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<typename CharT, std::size_t N, std::size_t M, std::output_iterator<CharT> Out>
constexpr Out copy(const symbol_text<N, M>& 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

View File

@ -22,7 +22,7 @@
#pragma once
#include <mp-units/bits/external/hacks.h> // IWYU pragma: keep
#include <mp-units/bits/hacks.h> // IWYU pragma: keep
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <cstddef>

View File

@ -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 <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#ifdef MP_UNITS_API_NO_CRTP

View File

@ -22,10 +22,12 @@
#pragma once
#include <mp-units/bits/dimension_concepts.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/reference_concepts.h>
#include <mp-units/bits/representation_concepts.h>
#include <mp-units/bits/unit_concepts.h>
// IWYU pragma: begin_exports
#include <mp-units/framework/dimension_concepts.h>
#include <mp-units/framework/quantity_concepts.h>
#include <mp-units/framework/quantity_point_concepts.h>
#include <mp-units/framework/quantity_spec_concepts.h>
#include <mp-units/framework/reference_concepts.h>
#include <mp-units/framework/representation_concepts.h>
#include <mp-units/framework/unit_concepts.h>
// IWYU pragma: end_exports

View File

@ -22,18 +22,12 @@
#pragma once
#include <mp-units/compare.h>
// IWYU pragma: begin_exports
#include <mp-units/compat_macros.h>
#include <mp-units/concepts.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>
// IWYU pragma: end_exports

View File

@ -22,7 +22,7 @@
#pragma once
#include <mp-units/bits/external/hacks.h> // IWYU pragma: keep
#include <mp-units/bits/hacks.h> // IWYU pragma: keep
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <compare>

View File

@ -23,13 +23,13 @@
#pragma once
// TODO use <algorithm> when moved to C++20 modules (parsing takes too long for each translation unit)
#include <mp-units/bits/external/algorithm.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/compat_macros.h> // IWYU pragma: keep
#include <mp-units/ext/algorithm.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <gsl/gsl-lite.hpp>
#include <compare>
#include <compare> // IWYU pragma: export
#include <cstddef>
#include <cstdlib>
#include <ostream>

View File

@ -22,7 +22,7 @@
#pragma once
#include <mp-units/bits/external/algorithm.h>
#include <mp-units/ext/algorithm.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <array>

View File

@ -22,7 +22,7 @@
#pragma once
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/bits/module_macros.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE

View File

@ -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 <mp-units/bits/external/algorithm.h>
#include <mp-units/bits/fmt.h>
#include <mp-units/compat_macros.h>
#include <mp-units/customization_points.h>
#include <mp-units/quantity.h>
#include <mp-units/unit.h>
#include <mp-units/ext/algorithm.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/quantity.h>
#include <mp-units/framework/unit.h>
namespace mp_units::detail {

View File

@ -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 <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/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>
// IWYU pragma: end_exports

View File

@ -22,6 +22,7 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE

View File

@ -22,8 +22,9 @@
#pragma once
#include <mp-units/bits/external/type_traits.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/ext/type_traits.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <limits>

View File

@ -22,13 +22,15 @@
#pragma once
#include <mp-units/bits/dimension_concepts.h>
#include <mp-units/bits/expression_template.h>
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/external/type_traits.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/symbol_text.h>
#include <mp-units/bits/text_tools.h>
#include <mp-units/ext/fixed_string.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework/dimension_concepts.h>
#include <mp-units/framework/expression_template.h>
#include <mp-units/framework/symbol_text.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <gsl/gsl-lite.hpp>

View File

@ -22,10 +22,11 @@
#pragma once
#include <mp-units/bits/expression_template.h>
#include <mp-units/bits/external/type_traits.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/symbol_text.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework/expression_template.h>
#include <mp-units/framework/symbol_text.h>
namespace mp_units {

View File

@ -22,10 +22,10 @@
#pragma once
#include <mp-units/bits/external/math_concepts.h>
#include <mp-units/bits/external/type_list.h>
#include <mp-units/bits/external/type_traits.h>
#include <mp-units/bits/math_concepts.h>
#include <mp-units/bits/ratio.h>
#include <mp-units/bits/type_list.h>
#include <mp-units/ext/type_traits.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <cstdint>

View File

@ -22,17 +22,18 @@
#pragma once
#include <mp-units/bits/expression_template.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_name.h>
#include <mp-units/bits/external/type_traits.h>
// IWYU pragma: private, include <mp-units/framework.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/ratio.h>
#include <mp-units/bits/symbol_text.h>
#include <mp-units/bits/text_tools.h>
#include <mp-units/customization_points.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/customization_points.h>
#include <mp-units/framework/expression_template.h>
#include <mp-units/framework/symbol_text.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <concepts>

View File

@ -23,27 +23,24 @@
#pragma once
#include <mp-units/bits/dimension_concepts.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_concepts.h>
#include <mp-units/bits/quantity_spec_concepts.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/unit_concepts.h>
#include <mp-units/customization_points.h>
#include <mp-units/reference.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/dimension_concepts.h>
#include <mp-units/framework/quantity_concepts.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/unit_concepts.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <gsl/gsl-lite.hpp>
#include <compare>
#include <compare> // IWYU pragma: export
#include <utility>
#endif
// the below is not used in this header but should be exposed with it
#include <mp-units/bits/quantity_cast.h>
#include <mp-units/bits/value_cast.h>
namespace mp_units {
namespace detail {

View File

@ -22,10 +22,11 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_concepts.h>
#include <mp-units/bits/quantity_point_concepts.h>
#include <mp-units/reference.h>
#include <mp-units/framework/quantity_concepts.h>
#include <mp-units/framework/quantity_point_concepts.h>
#include <mp-units/framework/reference.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <type_traits>

View File

@ -22,11 +22,12 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_spec_concepts.h>
#include <mp-units/bits/reference_concepts.h>
#include <mp-units/bits/representation_concepts.h>
#include <mp-units/customization_points.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/quantity_spec_concepts.h>
#include <mp-units/framework/reference_concepts.h>
#include <mp-units/framework/representation_concepts.h>
namespace mp_units {

View File

@ -22,14 +22,15 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_point_concepts.h>
#include <mp-units/compare.h>
#include <mp-units/customization_points.h>
#include <mp-units/quantity.h>
#include <mp-units/framework/compare.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/quantity.h>
#include <mp-units/framework/quantity_point_concepts.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <compare>
#include <compare> // IWYU pragma: export
#endif
namespace mp_units {

View File

@ -22,12 +22,13 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_concepts.h>
#include <mp-units/bits/quantity_spec_concepts.h>
#include <mp-units/bits/reference_concepts.h>
#include <mp-units/bits/representation_concepts.h>
#include <mp-units/customization_points.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/quantity_concepts.h>
#include <mp-units/framework/quantity_spec_concepts.h>
#include <mp-units/framework/reference_concepts.h>
#include <mp-units/framework/representation_concepts.h>
namespace mp_units {

View File

@ -22,19 +22,20 @@
#pragma once
#include <mp-units/bits/expression_template.h>
#include <mp-units/bits/external/algorithm.h>
#include <mp-units/bits/external/hacks.h>
#include <mp-units/bits/external/type_name.h>
#include <mp-units/bits/external/type_traits.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/get_common_base.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_concepts.h>
#include <mp-units/bits/quantity_spec_concepts.h>
#include <mp-units/bits/reference_concepts.h>
#include <mp-units/bits/representation_concepts.h>
#include <mp-units/compat_macros.h>
#include <mp-units/dimension.h>
#include <mp-units/ext/algorithm.h>
#include <mp-units/ext/type_name.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework/dimension.h>
#include <mp-units/framework/expression_template.h>
#include <mp-units/framework/quantity_concepts.h>
#include <mp-units/framework/quantity_spec_concepts.h>
#include <mp-units/framework/reference_concepts.h>
#include <mp-units/framework/representation_concepts.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <cstdint>

View File

@ -22,10 +22,11 @@
#pragma once
#include <mp-units/bits/dimension_concepts.h>
#include <mp-units/bits/expression_template.h>
#include <mp-units/bits/external/hacks.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/framework/dimension_concepts.h>
#include <mp-units/framework/expression_template.h>
namespace mp_units {

View File

@ -22,11 +22,12 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/get_associated_quantity.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_concepts.h>
#include <mp-units/bits/reference_concepts.h>
#include <mp-units/bits/representation_concepts.h>
#include <mp-units/framework/quantity_concepts.h>
#include <mp-units/framework/reference_concepts.h>
#include <mp-units/framework/representation_concepts.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <cstdint>

View File

@ -22,9 +22,10 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_spec_concepts.h>
#include <mp-units/bits/unit_concepts.h>
#include <mp-units/framework/quantity_spec_concepts.h>
#include <mp-units/framework/unit_concepts.h>
namespace mp_units {

View File

@ -22,8 +22,9 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/customization_points.h>
#include <mp-units/framework/customization_points.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <concepts>

View File

@ -22,15 +22,16 @@
#pragma once
// IWYU pragma: begin_exports
#include <mp-units/bits/external/fixed_string.h>
#include <mp-units/bits/external/hacks.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/ext/fixed_string.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <gsl/gsl-lite.hpp>
#include <compare>
#include <compare> // IWYU pragma: export
#include <cstddef>
#include <cstdint>
#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)

View File

@ -22,11 +22,12 @@
#pragma once
#include <mp-units/bits/external/hacks.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/reference.h>
#include <mp-units/unit.h>
#include <mp-units/framework/quantity_spec.h>
#include <mp-units/framework/reference.h>
#include <mp-units/framework/unit.h>
MP_UNITS_EXPORT
namespace mp_units {

View File

@ -22,21 +22,22 @@
#pragma once
#include <mp-units/bits/expression_template.h>
#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/type_name.h>
#include <mp-units/bits/external/type_traits.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/get_associated_quantity.h>
#include <mp-units/bits/magnitude.h>
#include <mp-units/bits/hacks.h>
#include <mp-units/bits/module_macros.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/symbol_text.h>
#include <mp-units/bits/text_tools.h>
#include <mp-units/bits/unit_concepts.h>
#include <mp-units/ext/algorithm.h>
#include <mp-units/ext/fixed_string.h>
#include <mp-units/ext/type_name.h>
#include <mp-units/ext/type_traits.h>
#include <mp-units/framework/expression_template.h>
#include <mp-units/framework/magnitude.h>
#include <mp-units/framework/quantity_point_concepts.h>
#include <mp-units/framework/quantity_spec_concepts.h>
#include <mp-units/framework/symbol_text.h>
#include <mp-units/framework/unit_concepts.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <gsl/gsl-lite.hpp>

View File

@ -22,11 +22,12 @@
#pragma once
#include <mp-units/bits/expression_template.h>
#include <mp-units/bits/magnitude.h>
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_spec_concepts.h>
#include <mp-units/bits/symbol_text.h>
#include <mp-units/framework/expression_template.h>
#include <mp-units/framework/magnitude.h>
#include <mp-units/framework/quantity_spec_concepts.h>
#include <mp-units/framework/symbol_text.h>
namespace mp_units {

View File

@ -22,13 +22,14 @@
#pragma once
// IWYU pragma: private, include <mp-units/framework.h>
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/quantity_concepts.h>
#include <mp-units/bits/quantity_point_concepts.h>
#include <mp-units/bits/representation_concepts.h>
#include <mp-units/bits/sudo_cast.h>
#include <mp-units/bits/unit_concepts.h>
#include <mp-units/reference.h>
#include <mp-units/framework/quantity_concepts.h>
#include <mp-units/framework/quantity_point_concepts.h>
#include <mp-units/framework/reference.h>
#include <mp-units/framework/representation_concepts.h>
#include <mp-units/framework/unit_concepts.h>
MP_UNITS_EXPORT
namespace mp_units {

View File

@ -23,10 +23,10 @@
#pragma once
#include <mp-units/bits/module_macros.h>
#include <mp-units/bits/value_cast.h>
#include <mp-units/customization_points.h>
#include <mp-units/quantity.h>
#include <mp-units/unit.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/quantity.h>
#include <mp-units/framework/unit.h>
#include <mp-units/framework/value_cast.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <cmath>

View File

@ -24,8 +24,8 @@
#pragma once
#include <mp-units/bits/module_macros.h>
#include <mp-units/quantity.h>
#include <mp-units/unit.h>
#include <mp-units/framework/quantity.h>
#include <mp-units/framework/unit.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <cstdint>

View File

@ -23,7 +23,7 @@
#pragma once
#include <mp-units/bits/module_macros.h>
#include <mp-units/quantity.h>
#include <mp-units/framework/quantity.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <functional>

View File

@ -22,5 +22,11 @@
#pragma once
// IWYU pragma: begin_exports
#include <mp-units/systems/angular/math.h>
#include <mp-units/systems/angular/units.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports

View File

@ -26,10 +26,10 @@
#include <mp-units/systems/angular/units.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/bits/value_cast.h>
#include <mp-units/customization_points.h>
#include <mp-units/quantity.h>
#include <mp-units/unit.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/quantity.h>
#include <mp-units/framework/unit.h>
#include <mp-units/framework/value_cast.h>
#include <cmath>
#endif

View File

@ -25,9 +25,9 @@
#include <mp-units/bits/module_macros.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/dimension.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/unit.h>
#include <mp-units/framework/dimension.h>
#include <mp-units/framework/quantity_spec.h>
#include <mp-units/framework/unit.h>
#endif
MP_UNITS_EXPORT

View File

@ -25,9 +25,11 @@
#include <mp-units/bits/module_macros.h>
#include <mp-units/systems/si/units.h>
// IWYU pragma: begin_exports
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::cgs {

View File

@ -24,11 +24,13 @@
#include <mp-units/bits/module_macros.h>
#include <mp-units/systems/si/si.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <cstdint>
// IWYU pragma: begin_exports
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units {

View File

@ -26,9 +26,11 @@
#include <mp-units/systems/si/constants.h>
#include <mp-units/systems/si/units.h>
// IWYU pragma: begin_exports
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::iau {

View File

@ -25,7 +25,7 @@
#include <mp-units/bits/module_macros.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework/unit.h>
#endif
namespace mp_units::iec80000 {

View File

@ -27,4 +27,8 @@
#include <mp-units/systems/iec80000/quantities.h>
#include <mp-units/systems/iec80000/unit_symbols.h>
#include <mp-units/systems/iec80000/units.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports

View File

@ -27,8 +27,8 @@
#include <mp-units/systems/isq/space_and_time.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/dimension.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/dimension.h>
#include <mp-units/framework/quantity_spec.h>
#endif
MP_UNITS_EXPORT

View File

@ -27,7 +27,7 @@
#include <mp-units/systems/si/units.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework/unit.h>
#endif
MP_UNITS_EXPORT

View File

@ -23,11 +23,14 @@
#pragma once
#include <mp-units/bits/module_macros.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/international/international.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::imperial {

View File

@ -26,9 +26,11 @@
#include <mp-units/systems/si/constants.h>
#include <mp-units/systems/si/units.h>
// IWYU pragma: begin_exports
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::international {

View File

@ -23,11 +23,14 @@
#pragma once
#include <mp-units/bits/module_macros.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/isq/si_quantities.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/quantity_spec.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::isq {

View File

@ -25,9 +25,9 @@
#include <mp-units/bits/module_macros.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/dimension.h>
#include <mp-units/quantity.h>
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/dimension.h>
#include <mp-units/framework/quantity.h>
#include <mp-units/framework/quantity_spec.h>
#endif
MP_UNITS_EXPORT

View File

@ -23,13 +23,16 @@
#pragma once
#include <mp-units/bits/module_macros.h>
#include <mp-units/systems/isq/base_quantities.h>
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/space_and_time.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/isq/base_quantities.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/quantity_spec.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::isq {

View File

@ -23,13 +23,16 @@
#pragma once
#include <mp-units/bits/module_macros.h>
#include <mp-units/systems/isq/base_quantities.h>
#include <mp-units/systems/isq/electromagnetism.h>
#include <mp-units/systems/isq/space_and_time.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/isq/base_quantities.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/quantity_spec.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::isq {

View File

@ -23,12 +23,15 @@
#pragma once
#include <mp-units/bits/module_macros.h>
#include <mp-units/systems/isq/si_quantities.h>
#include <mp-units/systems/isq/space_and_time.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/isq/si_quantities.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/quantity_spec.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::isq {

View File

@ -23,11 +23,14 @@
#pragma once
#include <mp-units/bits/module_macros.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/isq/base_quantities.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/quantity_spec.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::isq {

View File

@ -23,11 +23,14 @@
#pragma once
#include <mp-units/bits/module_macros.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/isq/si_quantities.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/quantity_spec.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::isq {

View File

@ -24,12 +24,15 @@
#include <mp-units/bits/module_macros.h>
#include <mp-units/systems/isq/mechanics.h>
#include <mp-units/systems/isq/si_quantities.h>
#include <mp-units/systems/isq/space_and_time.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/isq/si_quantities.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_spec.h>
#include <mp-units/framework/quantity_spec.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::isq {

View File

@ -23,13 +23,16 @@
#pragma once
#include <mp-units/bits/module_macros.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/angular/angular.h>
#include <mp-units/systems/isq/isq.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_spec.h>
#include <mp-units/reference.h>
#include <mp-units/framework/quantity_spec.h>
#include <mp-units/framework/reference.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::isq_angle {

View File

@ -27,10 +27,11 @@
#include <mp-units/systems/isq/space_and_time.h>
#include <mp-units/systems/si/prefixes.h>
// IWYU pragma: begin_exports
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/system_reference.h>
#include <mp-units/unit.h>
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::natural {

View File

@ -28,8 +28,8 @@
#include <mp-units/systems/si/units.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/customization_points.h>
#include <mp-units/quantity_point.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/quantity_point.h>
#include <chrono>
#endif

View File

@ -26,7 +26,7 @@
#include <mp-units/systems/si/units.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity.h>
#include <mp-units/framework/quantity.h>
#endif
MP_UNITS_EXPORT

View File

@ -27,10 +27,10 @@
#include <mp-units/systems/si/units.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/bits/value_cast.h>
#include <mp-units/customization_points.h>
#include <mp-units/quantity.h>
#include <mp-units/unit.h>
#include <mp-units/framework/customization_points.h>
#include <mp-units/framework/quantity.h>
#include <mp-units/framework/unit.h>
#include <mp-units/framework/value_cast.h>
#include <cmath>
#endif

View File

@ -25,7 +25,7 @@
#include <mp-units/bits/module_macros.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework/unit.h>
#endif
namespace mp_units::si {

View File

@ -22,9 +22,15 @@
#pragma once
// IWYU pragma: begin_exports
#include <mp-units/systems/si/chrono.h>
#include <mp-units/systems/si/constants.h>
#include <mp-units/systems/si/math.h>
#include <mp-units/systems/si/prefixes.h>
#include <mp-units/systems/si/unit_symbols.h>
#include <mp-units/systems/si/units.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports

View File

@ -27,8 +27,8 @@
#include <mp-units/systems/si/prefixes.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/quantity_point.h>
#include <mp-units/unit.h>
#include <mp-units/framework/quantity_point.h>
#include <mp-units/framework/unit.h>
#endif
MP_UNITS_EXPORT

View File

@ -25,9 +25,11 @@
#include <mp-units/bits/module_macros.h>
#include <mp-units/systems/international/international.h>
// IWYU pragma: begin_exports
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::typographic {

View File

@ -23,11 +23,14 @@
#pragma once
#include <mp-units/bits/module_macros.h>
// IWYU pragma: begin_exports
#include <mp-units/systems/international/international.h>
#ifndef MP_UNITS_IN_MODULE_INTERFACE
#include <mp-units/unit.h>
#include <mp-units/framework.h>
#endif
// IWYU pragma: end_exports
MP_UNITS_EXPORT
namespace mp_units::usc {

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>

Some files were not shown because too many files have changed in this diff Show More