refactor: file tree with systems defninitions refactored to limit ODR issues

Relates to #32 as with this commit we created something like modules for derived quantities
This commit is contained in:
Mateusz Pusz
2020-09-11 18:11:25 +02:00
parent 2c36f21716
commit 2a56438f1c
207 changed files with 965 additions and 456 deletions
@@ -22,9 +22,15 @@
#pragma once
#include <units/data/information.h>
#ifndef MP_UNITS_SYSTEM_DATA
#error "Please do not include this file directly. Use `units/physical/data/data.h` to prevent potential ODR violation issues."
#endif
#include <units/data/base/information.h>
#include <units/derived_dimension.h>
#include <units/physical/si/time.h>
#include <units/physical/si/base/time.h>
#include <units/quantity.h>
namespace units::data {
+29
View File
@@ -0,0 +1,29 @@
// 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
#define MP_UNITS_SYSTEM_DATA
#include <units/data/base/information.h>
#include <units/data/bits/derived/bitrate.h>
#include <units/data/prefixes.h>
@@ -22,18 +22,18 @@
#pragma once
#include <units/physical/dimensions.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
namespace units::physical::si {
namespace units {
struct radian : named_unit<radian, "rad", prefix> {};
struct radian : named_unit<radian, "rad", physical::si::prefix> {};
struct dim_angle : physical::dim_angle<radian> {};
template<Unit U = radian>
struct dim_angle : base_dimension<"A", U> {};
template<Unit U, ScalableNumber Rep = double>
using angle = quantity<dim_angle, U, Rep>;
using angle = quantity<dim_angle<>, U, Rep>;
inline namespace literals {
@@ -44,4 +44,4 @@ constexpr auto operator"" _q_rad(long double l) { return angle<radian, long doub
} // namespace literals
} // namespace units::physical::si
} // namespace units
+3 -5
View File
@@ -27,6 +27,7 @@
#include <units/bits/external/type_traits.h>
#include <units/derived_dimension.h>
#include <units/exponent.h>
#include <units/generic/angle.h>
#include <units/quantity.h>
#include <units/unit.h>
#include <concepts>
@@ -47,8 +48,8 @@ template<typename Dim, template<typename...> typename DimTemplate>
concept EquivalentUnknownDimensionOf = Dimension<Dim> && is_derived_from_specialization_of<Dim, unknown_dimension> && detail::same_exponents_of<Dim, DimTemplate>;
template<typename Dim, template<typename...> typename DimTemplate>
concept DimensionOf = Dimension<Dim> && (is_derived_from_specialization_of<Dim, DimTemplate> ||
EquivalentUnknownDimensionOf<Dim, DimTemplate>);
concept DimensionOf = Dimension<Dim> && (is_derived_from_specialization_of<Dim, DimTemplate>);// ||
// EquivalentUnknownDimensionOf<Dim, DimTemplate>);
template<typename Q, template<typename...> typename DimTemplate>
concept QuantityOf = Quantity<Q> && DimensionOf<typename Q::dimension, DimTemplate>;
@@ -76,9 +77,6 @@ struct dim_substance : base_dimension<"N", U> {};
template<Unit U>
struct dim_luminous_intensity : base_dimension<"J", U> {};
template<Unit U>
struct dim_angle : base_dimension<"A", U> {};
// ------------------------ derived dimensions -----------------------------
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/dimensions.h>
#include <units/physical/natural/units.h>
#include <units/physical/natural/bits/units.h>
#include <units/quantity.h>
namespace units::physical::natural {
@@ -22,7 +22,7 @@
#pragma once
#include <units/physical/natural/dimensions.h>
#include <units/physical/natural/bits/dimensions.h>
namespace units::physical::natural {
@@ -0,0 +1,30 @@
// 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
#define MP_UNITS_SYSTEM_NATURAL
#include "bits/dimensions.h"
#include "bits/units.h"
#include "constants.h"
-68
View File
@@ -1,68 +0,0 @@
// 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
#include "si/absorbed_dose.h"
#include "si/acceleration.h"
#include "si/angle.h"
#include "si/angular_velocity.h"
#include "si/area.h"
#include "si/capacitance.h"
#include "si/catalytic_activity.h"
#include "si/charge_density.h"
#include "si/concentration.h"
#include "si/conductance.h"
#include "si/constants.h"
#include "si/current_density.h"
#include "si/current.h"
#include "si/density.h"
#include "si/dynamic_viscosity.h"
#include "si/electric_charge.h"
#include "si/electric_field_strength.h"
#include "si/energy.h"
#include "si/force.h"
#include "si/frequency.h"
#include "si/heat_capacity.h"
#include "si/inductance.h"
#include "si/length.h"
#include "si/luminance.h"
#include "si/luminous_intensity.h"
#include "si/magnetic_flux.h"
#include "si/magnetic_induction.h"
#include "si/mass.h"
#include "si/molar_energy.h"
#include "si/momentum.h"
#include "si/permeability.h"
#include "si/permittivity.h"
#include "si/power.h"
#include "si/prefixes.h"
#include "si/pressure.h"
#include "si/resistance.h"
#include "si/speed.h"
#include "si/substance.h"
#include "si/surface_tension.h"
#include "si/temperature.h"
#include "si/thermal_conductivity.h"
#include "si/time.h"
#include "si/voltage.h"
#include "si/volume.h"
@@ -22,9 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/energy.h>
#include <units/physical/si/mass.h>
#include <units/physical/si/bits/derived/energy.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/speed.h>
#include <units/physical/si/bits/derived/speed.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/angle.h>
#include <units/physical/si/time.h>
#include <units/generic/angle.h>
#include <units/physical/si/base/time.h>
#include <units/quantity.h>
@@ -32,7 +38,7 @@ namespace units::physical::si {
struct radian_per_second : named_unit<radian_per_second, basic_symbol_text{"ω", "w"}, no_prefix> {};
struct dim_angular_velocity : physical::dim_angular_velocity<dim_angular_velocity, radian_per_second, dim_angle, dim_time> {};
struct dim_angular_velocity : physical::dim_angular_velocity<dim_angular_velocity, radian_per_second, dim_angle<>, dim_time> {};
template<Unit U, ScalableNumber Rep = double>
using angular_velocity = quantity<dim_angular_velocity, U, Rep>;
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/length.h>
#include <units/physical/si/base/length.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/electric_charge.h>
#include <units/physical/si/voltage.h>
#include <units/physical/si/bits/derived/electric_charge.h>
#include <units/physical/si/bits/derived/voltage.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/substance.h>
#include <units/physical/si/time.h>
#include <units/physical/si/base/substance.h>
#include <units/physical/si/base/time.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/electric_charge.h>
#include <units/physical/si/length.h>
#include <units/physical/si/bits/derived/electric_charge.h>
#include <units/physical/si/base/length.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/length.h>
#include <units/physical/si/substance.h>
#include <units/physical/si/base/length.h>
#include <units/physical/si/base/substance.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/resistance.h>
#include <units/physical/si/bits/derived/resistance.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/current.h>
#include <units/physical/si/length.h>
#include <units/physical/si/base/current.h>
#include <units/physical/si/base/length.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/mass.h>
#include <units/physical/si/length.h>
#include <units/physical/si/base/mass.h>
#include <units/physical/si/base/length.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/time.h>
#include <units/physical/si/pressure.h>
#include <units/physical/si/base/time.h>
#include <units/physical/si/bits/derived/pressure.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/current.h>
#include <units/physical/si/time.h>
#include <units/physical/si/base/current.h>
#include <units/physical/si/base/time.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/voltage.h>
#include <units/physical/si/bits/derived/voltage.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/force.h>
#include <units/physical/si/bits/derived/force.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/acceleration.h>
#include <units/physical/si/mass.h>
#include <units/physical/si/bits/derived/acceleration.h>
#include <units/physical/si/base/mass.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/time.h>
#include <units/physical/si/base/time.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,11 +22,17 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/temperature.h>
#include <units/physical/si/energy.h>
#include <units/physical/si/mass.h>
#include <units/physical/si/substance.h>
#include <units/physical/si/base/temperature.h>
#include <units/physical/si/bits/derived/energy.h>
#include <units/physical/si/base/mass.h>
#include <units/physical/si/base/substance.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/magnetic_flux.h>
#include <units/physical/si/current.h>
#include <units/physical/si/bits/derived/magnetic_flux.h>
#include <units/physical/si/base/current.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/length.h>
#include <units/physical/si/luminous_intensity.h>
#include <units/physical/si/base/length.h>
#include <units/physical/si/base/luminous_intensity.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/magnetic_induction.h>
#include <units/physical/si/area.h>
#include <units/physical/si/bits/derived/magnetic_induction.h>
#include <units/physical/si/bits/derived/area.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,10 +22,16 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/voltage.h>
#include <units/physical/si/time.h>
#include <units/physical/si/length.h>
#include <units/physical/si/bits/derived/voltage.h>
#include <units/physical/si/base/time.h>
#include <units/physical/si/base/length.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/energy.h>
#include <units/physical/si/substance.h>
#include <units/physical/si/bits/derived/energy.h>
#include <units/physical/si/base/substance.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/mass.h>
#include <units/physical/si/speed.h>
#include <units/physical/si/base/mass.h>
#include <units/physical/si/bits/derived/speed.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/inductance.h>
#include <units/physical/si/bits/derived/inductance.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/capacitance.h>
#include <units/physical/si/bits/derived/capacitance.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/energy.h>
#include <units/physical/si/bits/derived/energy.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/area.h>
#include <units/physical/si/force.h>
#include <units/physical/si/bits/derived/area.h>
#include <units/physical/si/bits/derived/force.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/voltage.h>
#include <units/physical/si/current.h>
#include <units/physical/si/bits/derived/voltage.h>
#include <units/physical/si/base/current.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/length.h>
#include <units/physical/si/time.h>
#include <units/physical/si/base/length.h>
#include <units/physical/si/base/time.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/force.h>
#include <units/physical/si/bits/derived/force.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/power.h>
#include <units/physical/si/temperature.h>
#include <units/physical/si/bits/derived/power.h>
#include <units/physical/si/base/temperature.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/energy.h>
#include <units/physical/si/angle.h>
#include <units/physical/si/bits/derived/energy.h>
#include <units/generic/angle.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -32,7 +38,7 @@ namespace units::physical::si {
struct newton_metre : named_unit<newton_metre, "Nm", prefix> {};
struct dim_torque : physical::dim_torque<dim_torque, newton_metre, dim_energy, dim_angle> {};
struct dim_torque : physical::dim_torque<dim_torque, newton_metre, dim_energy, dim_angle<>> {};
template<Unit U, ScalableNumber Rep = double>
using torque = quantity<dim_torque, U, Rep>;
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/current.h>
#include <units/physical/si/power.h>
#include <units/physical/si/base/current.h>
#include <units/physical/si/bits/derived/power.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI
#error "Please do not include this file directly. Use `units/physical/si/si.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/length.h>
#include <units/physical/si/base/length.h>
#include <units/quantity.h>
namespace units::physical::si {
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/dimensions.h>
#include <units/physical/si/length.h>
#include <units/physical/si/base/length.h>
#include <units/quantity.h>
namespace units::physical::si::cgs {
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/dimensions.h>
#include <units/physical/si/mass.h>
#include <units/physical/si/base/mass.h>
#include <units/quantity.h>
namespace units::physical::si::cgs {
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/dimensions.h>
#include <units/physical/si/time.h>
#include <units/physical/si/base/time.h>
#include <units/quantity.h>
namespace units::physical::si::cgs {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_CGS
#error "Please do not include this file directly. Use `units/physical/si/cgs/cgs.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/cgs/speed.h>
#include <units/physical/si/cgs/bits/derived/speed.h>
#include <units/quantity.h>
namespace units::physical::si::cgs {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_CGS
#error "Please do not include this file directly. Use `units/physical/si/cgs/cgs.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/cgs/length.h>
#include <units/physical/si/area.h>
#include <units/physical/si/cgs/base/length.h>
#include <units/physical/si/si.h>
#include <units/quantity.h>
namespace units::physical::si::cgs {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_CGS
#error "Please do not include this file directly. Use `units/physical/si/cgs/cgs.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/cgs/force.h>
#include <units/physical/si/cgs/bits/derived/force.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_CGS
#error "Please do not include this file directly. Use `units/physical/si/cgs/cgs.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/cgs/acceleration.h>
#include <units/physical/si/cgs/mass.h>
#include <units/physical/si/cgs/bits/derived/acceleration.h>
#include <units/physical/si/cgs/base/mass.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_CGS
#error "Please do not include this file directly. Use `units/physical/si/cgs/cgs.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/cgs/energy.h>
#include <units/physical/si/cgs/bits/derived/energy.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_CGS
#error "Please do not include this file directly. Use `units/physical/si/cgs/cgs.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/cgs/area.h>
#include <units/physical/si/cgs/force.h>
#include <units/physical/si/cgs/bits/derived/area.h>
#include <units/physical/si/cgs/bits/derived/force.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_CGS
#error "Please do not include this file directly. Use `units/physical/si/cgs/cgs.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/cgs/length.h>
#include <units/physical/si/cgs/time.h>
#include <units/physical/si/cgs/base/length.h>
#include <units/physical/si/cgs/base/time.h>
#include <units/quantity.h>
namespace units::physical::si::cgs {
+37
View File
@@ -0,0 +1,37 @@
// 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
#define MP_UNITS_SYSTEM_SI_CGS
#include <units/physical/si/cgs/base/length.h>
#include <units/physical/si/cgs/base/mass.h>
#include <units/physical/si/cgs/base/time.h>
#include <units/physical/si/cgs/bits/derived/acceleration.h>
#include <units/physical/si/cgs/bits/derived/area.h>
#include <units/physical/si/cgs/bits/derived/energy.h>
#include <units/physical/si/cgs/bits/derived/force.h>
#include <units/physical/si/cgs/bits/derived/power.h>
#include <units/physical/si/cgs/bits/derived/pressure.h>
#include <units/physical/si/cgs/bits/derived/speed.h>
+1 -7
View File
@@ -22,13 +22,7 @@
#pragma once
#include <units/physical/si/electric_charge.h>
#include <units/physical/si/energy.h>
#include <units/physical/si/frequency.h>
#include <units/physical/si/power.h>
#include <units/physical/si/substance.h>
#include <units/physical/si/temperature.h>
#include <units/physical/si/speed.h>
#include <units/physical/si/si.h>
namespace units::physical::si::si2019 {
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/dimensions.h>
#include <units/physical/si/length.h>
#include <units/physical/si/base/length.h>
#include <units/quantity.h>
namespace units::physical::si::fps {
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/dimensions.h>
#include <units/physical/si/mass.h>
#include <units/physical/si/base/mass.h>
#include <units/quantity.h>
namespace units::physical::si::fps {
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/dimensions.h>
#include <units/physical/si/time.h>
#include <units/physical/si/base/time.h>
#include <units/quantity.h>
namespace units::physical::si::fps {
@@ -0,0 +1,27 @@
// 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
#include <units/physical/si/fps/bits/base_quantities/length.h>
#include <units/physical/si/fps/bits/base_quantities/mass.h>
#include <units/physical/si/fps/bits/base_quantities/time.h>
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/speed.h>
#include <units/physical/si/fps/bits/derived/speed.h>
#include <units/quantity.h>
namespace units::physical::si::fps {
@@ -22,9 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/length.h>
// #include <units/physical/si/area.h>
#include <units/physical/si/fps/base/length.h>
#include <units/quantity.h>
namespace units::physical::si::fps {
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/mass.h>
#include <units/physical/si/fps/length.h>
#include <units/physical/si/fps/base/mass.h>
#include <units/physical/si/fps/base/length.h>
#include <units/quantity.h>
namespace units::physical::si::fps {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/force.h>
#include <units/physical/si/fps/bits/derived/force.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/acceleration.h>
#include <units/physical/si/fps/mass.h>
#include <units/physical/si/fps/bits/derived/acceleration.h>
#include <units/physical/si/fps/base/mass.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/energy.h>
#include <units/physical/si/fps/bits/derived/energy.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/area.h>
#include <units/physical/si/fps/force.h>
#include <units/physical/si/fps/bits/derived/area.h>
#include <units/physical/si/fps/bits/derived/force.h>
#include <units/physical/si/prefixes.h>
#include <units/quantity.h>
@@ -22,9 +22,15 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/length.h>
#include <units/physical/si/fps/time.h>
#include <units/physical/si/fps/base/length.h>
#include <units/physical/si/fps/base/time.h>
#include <units/quantity.h>
namespace units::physical::si::fps {
@@ -22,8 +22,14 @@
#pragma once
#ifndef MP_UNITS_SYSTEM_SI_FPS
#error "Please do not include this file directly. Use `units/physical/si/fps/fps.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/dimensions.h>
#include <units/physical/si/fps/length.h>
#include <units/physical/si/fps/base/length.h>
#include <units/quantity.h>
namespace units::physical::si::fps {
+39
View File
@@ -0,0 +1,39 @@
// 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
#define MP_UNITS_SYSTEM_SI_FPS
#include <units/physical/si/fps/base/length.h>
#include <units/physical/si/fps/base/mass.h>
#include <units/physical/si/fps/base/time.h>
#include <units/physical/si/fps/bits/derived/acceleration.h>
#include <units/physical/si/fps/bits/derived/area.h>
#include <units/physical/si/fps/bits/derived/density.h>
#include <units/physical/si/fps/bits/derived/energy.h>
#include <units/physical/si/fps/bits/derived/force.h>
#include <units/physical/si/fps/bits/derived/power.h>
#include <units/physical/si/fps/bits/derived/pressure.h>
#include <units/physical/si/fps/bits/derived/speed.h>
#include <units/physical/si/fps/bits/derived/volume.h>
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/si/length.h>
#include <units/physical/si/base/length.h>
namespace units::physical::si::iau {
+27
View File
@@ -0,0 +1,27 @@
// 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
#define MP_UNITS_SYSTEM_SI_IAU
#include <units/physical/si/iau/base/length.h>
@@ -22,7 +22,7 @@
#pragma once
#include <units/physical/si/international/length.h>
#include <units/physical/si/international/base/length.h>
namespace units::physical::si::imperial {
@@ -0,0 +1,27 @@
// 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
#define MP_UNITS_SYSTEM_SI_IMPERIAL
#include <units/physical/si/imperial/base/length.h>
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/si/length.h>
#include <units/physical/si/base/length.h>
namespace units::physical::si::international {
@@ -22,8 +22,14 @@
#pragma once
#include <units/physical/si/area.h>
#include <units/physical/si/international/length.h>
#ifndef MP_UNITS_SYSTEM_SI_INTERNATIONAL
#error "Please do not include this file directly. Use `units/physical/si/international/international.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/si/si.h>
#include <units/physical/si/international/base/length.h>
namespace units::physical::si::international {
@@ -22,8 +22,14 @@
#pragma once
#include <units/physical/si/speed.h>
#include <units/physical/si/international/length.h>
#ifndef MP_UNITS_SYSTEM_SI_INTERNATIONAL
#error "Please do not include this file directly. Use `units/physical/si/international/international.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/si/si.h>
#include <units/physical/si/international/base/length.h>
namespace units::physical::si::international {
@@ -22,8 +22,14 @@
#pragma once
#include <units/physical/si/volume.h>
#include <units/physical/si/international/length.h>
#ifndef MP_UNITS_SYSTEM_SI_INTERNATIONAL
#error "Please do not include this file directly. Use `units/physical/si/international/international.h` to prevent potential ODR violation issues."
#endif
#include <units/physical/si/si.h>
#include <units/physical/si/international/base/length.h>
namespace units::physical::si::international {
@@ -0,0 +1,31 @@
// 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
#define MP_UNITS_SYSTEM_SI_INTERNATIONAL
#include <units/physical/si/international/base/length.h>
#include <units/physical/si/international/bits/derived/area.h>
#include <units/physical/si/international/bits/derived/speed.h>
#include <units/physical/si/international/bits/derived/volume.h>
+72
View File
@@ -0,0 +1,72 @@
// 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
#define MP_UNITS_SYSTEM_SI
#include <units/physical/si/base/current.h>
#include <units/physical/si/base/length.h>
#include <units/physical/si/base/luminous_intensity.h>
#include <units/physical/si/base/mass.h>
#include <units/physical/si/base/substance.h>
#include <units/physical/si/base/temperature.h>
#include <units/physical/si/base/time.h>
#include <units/physical/si/bits/derived/absorbed_dose.h>
#include <units/physical/si/bits/derived/acceleration.h>
#include <units/physical/si/bits/derived/angular_velocity.h>
#include <units/physical/si/bits/derived/area.h>
#include <units/physical/si/bits/derived/capacitance.h>
#include <units/physical/si/bits/derived/catalytic_activity.h>
#include <units/physical/si/bits/derived/charge_density.h>
#include <units/physical/si/bits/derived/concentration.h>
#include <units/physical/si/bits/derived/conductance.h>
#include <units/physical/si/bits/derived/current_density.h>
#include <units/physical/si/bits/derived/density.h>
#include <units/physical/si/bits/derived/dynamic_viscosity.h>
#include <units/physical/si/bits/derived/electric_charge.h>
#include <units/physical/si/bits/derived/electric_field_strength.h>
#include <units/physical/si/bits/derived/energy.h>
#include <units/physical/si/bits/derived/force.h>
#include <units/physical/si/bits/derived/frequency.h>
#include <units/physical/si/bits/derived/heat_capacity.h>
#include <units/physical/si/bits/derived/inductance.h>
#include <units/physical/si/bits/derived/luminance.h>
#include <units/physical/si/bits/derived/magnetic_flux.h>
#include <units/physical/si/bits/derived/magnetic_induction.h>
#include <units/physical/si/bits/derived/molar_energy.h>
#include <units/physical/si/bits/derived/momentum.h>
#include <units/physical/si/bits/derived/permeability.h>
#include <units/physical/si/bits/derived/permittivity.h>
#include <units/physical/si/bits/derived/power.h>
#include <units/physical/si/bits/derived/pressure.h>
#include <units/physical/si/bits/derived/resistance.h>
#include <units/physical/si/bits/derived/speed.h>
#include <units/physical/si/bits/derived/surface_tension.h>
#include <units/physical/si/bits/derived/thermal_conductivity.h>
#include <units/physical/si/bits/derived/torque.h>
#include <units/physical/si/bits/derived/voltage.h>
#include <units/physical/si/bits/derived/volume.h>
#include <units/physical/si/constants.h>
#include <units/physical/si/prefixes.h>
@@ -23,7 +23,7 @@
#pragma once
#include <units/physical/si/length.h>
#include <units/physical/si/base/length.h>
namespace units::physical::si::typographic {
@@ -0,0 +1,27 @@
// 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
#define MP_UNITS_SYSTEM_SI_TYPOGRAPHIC
#include <units/physical/si/typographic/base/length.h>
@@ -22,7 +22,7 @@
#pragma once
#include <units/physical/si/length.h>
#include <units/physical/si/base/length.h>
namespace units::physical::si::us {
+27
View File
@@ -0,0 +1,27 @@
// 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
#define MP_UNITS_SYSTEM_SI_US
#include <units/physical/si/us/base/length.h>
+1 -1
View File
@@ -27,7 +27,7 @@
#include <units/bits/dimension_op.h>
#include <units/bits/pow.h>
#include <units/bits/to_string.h>
#include <units/dimensionless.h>
#include <units/generic/dimensionless.h>
#include <units/quantity_cast.h>
#include <compare>
#include <ostream>