From 2a56438f1c954e4c29e7f4e0dcc3dd79c4a46161 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Fri, 11 Sep 2020 18:11:25 +0200 Subject: [PATCH] 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 --- .../systems/physical/si/absorbed_dose.rst | 2 +- .../systems/physical/si/acceleration.rst | 2 +- .../reference/systems/physical/si/area.rst | 2 +- .../systems/physical/si/capacitance.rst | 2 +- .../physical/si/catalytic_activity.rst | 2 +- .../systems/physical/si/cgs/acceleration.rst | 2 +- .../systems/physical/si/cgs/area.rst | 2 +- .../systems/physical/si/cgs/energy.rst | 2 +- .../systems/physical/si/cgs/force.rst | 2 +- .../systems/physical/si/cgs/length.rst | 2 +- .../systems/physical/si/cgs/mass.rst | 2 +- .../systems/physical/si/cgs/power.rst | 2 +- .../systems/physical/si/cgs/pressure.rst | 2 +- .../systems/physical/si/cgs/speed.rst | 2 +- .../systems/physical/si/cgs/time.rst | 2 +- .../systems/physical/si/charge_density.rst | 2 +- .../systems/physical/si/concentration.rst | 2 +- .../systems/physical/si/conductance.rst | 2 +- .../reference/systems/physical/si/current.rst | 2 +- .../systems/physical/si/current_density.rst | 2 +- .../reference/systems/physical/si/density.rst | 2 +- .../systems/physical/si/dynamic_viscosity.rst | 2 +- .../systems/physical/si/electric_charge.rst | 2 +- .../physical/si/electric_field_strength.rst | 2 +- .../reference/systems/physical/si/energy.rst | 2 +- .../reference/systems/physical/si/force.rst | 2 +- .../systems/physical/si/fps/acceleration.rst | 2 +- .../systems/physical/si/fps/area.rst | 2 +- .../systems/physical/si/fps/density.rst | 2 +- .../systems/physical/si/fps/energy.rst | 2 +- .../systems/physical/si/fps/force.rst | 2 +- .../systems/physical/si/fps/length.rst | 2 +- .../systems/physical/si/fps/mass.rst | 2 +- .../systems/physical/si/fps/power.rst | 2 +- .../systems/physical/si/fps/pressure.rst | 2 +- .../systems/physical/si/fps/speed.rst | 2 +- .../systems/physical/si/fps/time.rst | 2 +- .../systems/physical/si/fps/volume.rst | 2 +- .../systems/physical/si/frequency.rst | 2 +- .../systems/physical/si/heat_capacity.rst | 2 +- .../systems/physical/si/iau/length.rst | 2 +- .../systems/physical/si/imperial/length.rst | 2 +- .../systems/physical/si/inductance.rst | 2 +- .../physical/si/international/area.rst | 2 +- .../physical/si/international/length.rst | 2 +- .../physical/si/international/speed.rst | 2 +- .../physical/si/international/volume.rst | 2 +- .../reference/systems/physical/si/length.rst | 2 +- .../systems/physical/si/luminance.rst | 2 +- .../physical/si/luminous_intensity.rst | 2 +- .../systems/physical/si/magnetic_flux.rst | 2 +- .../physical/si/magnetic_induction.rst | 2 +- .../reference/systems/physical/si/mass.rst | 2 +- .../systems/physical/si/molar_energy.rst | 2 +- .../systems/physical/si/momentum.rst | 2 +- .../systems/physical/si/permeability.rst | 2 +- .../systems/physical/si/permittivity.rst | 2 +- .../reference/systems/physical/si/power.rst | 2 +- .../systems/physical/si/prefixes.rst | 2 +- .../systems/physical/si/pressure.rst | 2 +- .../systems/physical/si/resistance.rst | 2 +- .../reference/systems/physical/si/speed.rst | 2 +- .../systems/physical/si/substance.rst | 2 +- .../systems/physical/si/surface_tension.rst | 2 +- .../systems/physical/si/temperature.rst | 2 +- .../physical/si/thermal_conductivity.rst | 2 +- .../reference/systems/physical/si/time.rst | 2 +- .../physical/si/typographic/length.rst | 2 +- .../systems/physical/si/us/length.rst | 2 +- .../reference/systems/physical/si/voltage.rst | 2 +- .../reference/systems/physical/si/volume.rst | 2 +- example/alternative_namespaces/acceleration.h | 2 +- example/alternative_namespaces/area.h | 2 +- .../capacitor_time_curve.cpp | 4 +- example/alternative_namespaces/density.h | 2 +- example/alternative_namespaces/force.h | 2 +- example/alternative_namespaces/length.h | 12 ++-- example/alternative_namespaces/mass.h | 2 +- example/alternative_namespaces/time.h | 2 +- example/alternative_namespaces/voltage.h | 2 +- example/alternative_namespaces/volume.h | 3 +- example/avg_speed.cpp | 6 +- example/box_example.cpp | 9 +-- example/capacitor_time_curve.cpp | 5 +- example/clcpp_response.cpp | 15 ++-- example/conversion_factor.cpp | 2 +- example/experimental_angle.cpp | 4 +- example/foot_pound_second.cpp | 13 +--- example/glide_computer.cpp | 4 +- example/hello_units.cpp | 4 +- ...lman_filter-alpha_beta_filter_example2.cpp | 4 +- example/linear_algebra.cpp | 4 +- example/measurement.cpp | 2 +- example/total_energy.cpp | 7 +- example/unknown_dimension.cpp | 3 +- .../units/data/{ => base}/information.h | 0 .../units/data/{ => bits/derived}/bitrate.h | 10 ++- src/include/units/data/data.h | 29 ++++++++ .../units/{physical/si => generic}/angle.h | 12 ++-- .../units/{ => generic}/dimensionless.h | 0 src/include/units/physical/dimensions.h | 8 +-- .../physical/natural/{ => bits}/dimensions.h | 2 +- .../units/physical/natural/{ => bits}/units.h | 0 .../units/physical/natural/constants.h | 2 +- src/include/units/physical/natural/natural.h | 30 ++++++++ src/include/units/physical/si.h | 68 ------------------ .../units/physical/si/{ => base}/current.h | 0 .../units/physical/si/{ => base}/length.h | 0 .../si/{ => base}/luminous_intensity.h | 0 .../units/physical/si/{ => base}/mass.h | 0 .../units/physical/si/{ => base}/substance.h | 0 .../physical/si/{ => base}/temperature.h | 0 .../units/physical/si/{ => base}/time.h | 0 .../si/{ => bits/derived}/absorbed_dose.h | 9 ++- .../si/{ => bits/derived}/acceleration.h | 8 ++- .../si/{ => bits/derived}/angular_velocity.h | 12 +++- .../physical/si/{ => bits/derived}/area.h | 8 ++- .../si/{ => bits/derived}/capacitance.h | 10 ++- .../{ => bits/derived}/catalytic_activity.h | 10 ++- .../si/{ => bits/derived}/charge_density.h | 10 ++- .../si/{ => bits/derived}/concentration.h | 10 ++- .../si/{ => bits/derived}/conductance.h | 8 ++- .../si/{ => bits/derived}/current_density.h | 10 ++- .../physical/si/{ => bits/derived}/density.h | 10 ++- .../si/{ => bits/derived}/dynamic_viscosity.h | 10 ++- .../si/{ => bits/derived}/electric_charge.h | 10 ++- .../derived}/electric_field_strength.h | 8 ++- .../physical/si/{ => bits/derived}/energy.h | 8 ++- .../physical/si/{ => bits/derived}/force.h | 10 ++- .../si/{ => bits/derived}/frequency.h | 8 ++- .../si/{ => bits/derived}/heat_capacity.h | 14 ++-- .../si/{ => bits/derived}/inductance.h | 10 ++- .../si/{ => bits/derived}/luminance.h | 10 ++- .../si/{ => bits/derived}/magnetic_flux.h | 10 ++- .../{ => bits/derived}/magnetic_induction.h | 12 +++- .../si/{ => bits/derived}/molar_energy.h | 10 ++- .../physical/si/{ => bits/derived}/momentum.h | 10 ++- .../si/{ => bits/derived}/permeability.h | 8 ++- .../si/{ => bits/derived}/permittivity.h | 8 ++- .../physical/si/{ => bits/derived}/power.h | 8 ++- .../physical/si/{ => bits/derived}/pressure.h | 10 ++- .../si/{ => bits/derived}/resistance.h | 10 ++- .../physical/si/{ => bits/derived}/speed.h | 10 ++- .../si/{ => bits/derived}/surface_tension.h | 8 ++- .../{ => bits/derived}/thermal_conductivity.h | 10 ++- .../physical/si/{ => bits/derived}/torque.h | 12 +++- .../physical/si/{ => bits/derived}/voltage.h | 10 ++- .../physical/si/{ => bits/derived}/volume.h | 8 ++- .../units/physical/si/cgs/{ => base}/length.h | 2 +- .../units/physical/si/cgs/{ => base}/mass.h | 2 +- .../units/physical/si/cgs/{ => base}/time.h | 2 +- .../si/cgs/{ => bits/derived}/acceleration.h | 8 ++- .../physical/si/cgs/{ => bits/derived}/area.h | 10 ++- .../si/cgs/{ => bits/derived}/energy.h | 8 ++- .../si/cgs/{ => bits/derived}/force.h | 10 ++- .../si/cgs/{ => bits/derived}/power.h | 8 ++- .../si/cgs/{ => bits/derived}/pressure.h | 10 ++- .../si/cgs/{ => bits/derived}/speed.h | 10 ++- src/include/units/physical/si/cgs/cgs.h | 37 ++++++++++ src/include/units/physical/si/constants.h | 8 +-- .../units/physical/si/fps/{ => base}/length.h | 2 +- .../units/physical/si/fps/{ => base}/mass.h | 2 +- .../units/physical/si/fps/{ => base}/time.h | 2 +- .../units/physical/si/fps/base_quantities.h | 27 +++++++ .../si/fps/{ => bits/derived}/acceleration.h | 8 ++- .../physical/si/fps/{ => bits/derived}/area.h | 9 ++- .../si/fps/{ => bits/derived}/density.h | 10 ++- .../si/fps/{ => bits/derived}/energy.h | 8 ++- .../si/fps/{ => bits/derived}/force.h | 10 ++- .../si/fps/{ => bits/derived}/power.h | 8 ++- .../si/fps/{ => bits/derived}/pressure.h | 10 ++- .../si/fps/{ => bits/derived}/speed.h | 10 ++- .../si/fps/{ => bits/derived}/volume.h | 8 ++- src/include/units/physical/si/fps/fps.h | 39 ++++++++++ .../units/physical/si/iau/{ => base}/length.h | 2 +- src/include/units/physical/si/iau/iau.h | 27 +++++++ .../physical/si/imperial/{ => base}/length.h | 2 +- .../units/physical/si/imperial/imperial.h | 27 +++++++ .../si/international/{ => base}/length.h | 2 +- .../international/{ => bits/derived}/area.h | 10 ++- .../international/{ => bits/derived}/speed.h | 10 ++- .../international/{ => bits/derived}/volume.h | 10 ++- .../physical/si/international/international.h | 31 ++++++++ src/include/units/physical/si/si.h | 72 +++++++++++++++++++ .../si/typographic/{ => base}/length.h | 2 +- .../physical/si/typographic/typographic.h | 27 +++++++ .../units/physical/si/us/{ => base}/length.h | 2 +- src/include/units/physical/si/us/us.h | 27 +++++++ src/include/units/quantity.h | 2 +- test/unit_test/runtime/digital_info_test.cpp | 2 +- test/unit_test/runtime/distribution_test.cpp | 2 +- test/unit_test/runtime/fmt_test.cpp | 12 +--- test/unit_test/runtime/fmt_units_test.cpp | 15 ++-- test/unit_test/runtime/math_test.cpp | 3 +- test/unit_test/static/cgs_test.cpp | 10 +-- .../static/custom_rep_min_req_test.cpp | 4 +- test/unit_test/static/custom_unit_test.cpp | 5 +- test/unit_test/static/data_test.cpp | 3 +- .../static/dimensions_concepts_test.cpp | 2 +- test/unit_test/static/fps_test.cpp | 10 +-- test/unit_test/static/math_test.cpp | 5 +- test/unit_test/static/quantity_point_test.cpp | 7 +- test/unit_test/static/quantity_test.cpp | 7 +- test/unit_test/static/si_cgs_test.cpp | 22 +----- test/unit_test/static/si_fps_test.cpp | 22 +----- test/unit_test/static/si_test.cpp | 2 +- test/unit_test/static/us_test.cpp | 12 +--- 207 files changed, 965 insertions(+), 456 deletions(-) rename src/include/units/data/{ => base}/information.h (100%) rename src/include/units/data/{ => bits/derived}/bitrate.h (92%) create mode 100644 src/include/units/data/data.h rename src/include/units/{physical/si => generic}/angle.h (85%) rename src/include/units/{ => generic}/dimensionless.h (100%) rename src/include/units/physical/natural/{ => bits}/dimensions.h (98%) rename src/include/units/physical/natural/{ => bits}/units.h (100%) create mode 100644 src/include/units/physical/natural/natural.h delete mode 100644 src/include/units/physical/si.h rename src/include/units/physical/si/{ => base}/current.h (100%) rename src/include/units/physical/si/{ => base}/length.h (100%) rename src/include/units/physical/si/{ => base}/luminous_intensity.h (100%) rename src/include/units/physical/si/{ => base}/mass.h (100%) rename src/include/units/physical/si/{ => base}/substance.h (100%) rename src/include/units/physical/si/{ => base}/temperature.h (100%) rename src/include/units/physical/si/{ => base}/time.h (100%) rename src/include/units/physical/si/{ => bits/derived}/absorbed_dose.h (97%) rename src/include/units/physical/si/{ => bits/derived}/acceleration.h (89%) rename src/include/units/physical/si/{ => bits/derived}/angular_velocity.h (86%) rename src/include/units/physical/si/{ => bits/derived}/area.h (97%) rename src/include/units/physical/si/{ => bits/derived}/capacitance.h (96%) rename src/include/units/physical/si/{ => bits/derived}/catalytic_activity.h (97%) rename src/include/units/physical/si/{ => bits/derived}/charge_density.h (90%) rename src/include/units/physical/si/{ => bits/derived}/concentration.h (88%) rename src/include/units/physical/si/{ => bits/derived}/conductance.h (96%) rename src/include/units/physical/si/{ => bits/derived}/current_density.h (88%) rename src/include/units/physical/si/{ => bits/derived}/density.h (88%) rename src/include/units/physical/si/{ => bits/derived}/dynamic_viscosity.h (88%) rename src/include/units/physical/si/{ => bits/derived}/electric_charge.h (88%) rename src/include/units/physical/si/{ => bits/derived}/electric_field_strength.h (90%) rename src/include/units/physical/si/{ => bits/derived}/energy.h (96%) rename src/include/units/physical/si/{ => bits/derived}/force.h (96%) rename src/include/units/physical/si/{ => bits/derived}/frequency.h (96%) rename src/include/units/physical/si/{ => bits/derived}/heat_capacity.h (90%) rename src/include/units/physical/si/{ => bits/derived}/inductance.h (95%) rename src/include/units/physical/si/{ => bits/derived}/luminance.h (87%) rename src/include/units/physical/si/{ => bits/derived}/magnetic_flux.h (95%) rename src/include/units/physical/si/{ => bits/derived}/magnetic_induction.h (95%) rename src/include/units/physical/si/{ => bits/derived}/molar_energy.h (88%) rename src/include/units/physical/si/{ => bits/derived}/momentum.h (88%) rename src/include/units/physical/si/{ => bits/derived}/permeability.h (89%) rename src/include/units/physical/si/{ => bits/derived}/permittivity.h (89%) rename src/include/units/physical/si/{ => bits/derived}/power.h (96%) rename src/include/units/physical/si/{ => bits/derived}/pressure.h (96%) rename src/include/units/physical/si/{ => bits/derived}/resistance.h (95%) rename src/include/units/physical/si/{ => bits/derived}/speed.h (89%) rename src/include/units/physical/si/{ => bits/derived}/surface_tension.h (89%) rename src/include/units/physical/si/{ => bits/derived}/thermal_conductivity.h (88%) rename src/include/units/physical/si/{ => bits/derived}/torque.h (86%) rename src/include/units/physical/si/{ => bits/derived}/voltage.h (96%) rename src/include/units/physical/si/{ => bits/derived}/volume.h (98%) rename src/include/units/physical/si/cgs/{ => base}/length.h (97%) rename src/include/units/physical/si/cgs/{ => base}/mass.h (97%) rename src/include/units/physical/si/cgs/{ => base}/time.h (97%) rename src/include/units/physical/si/cgs/{ => bits/derived}/acceleration.h (89%) rename src/include/units/physical/si/cgs/{ => bits/derived}/area.h (87%) rename src/include/units/physical/si/cgs/{ => bits/derived}/energy.h (89%) rename src/include/units/physical/si/cgs/{ => bits/derived}/force.h (86%) rename src/include/units/physical/si/cgs/{ => bits/derived}/power.h (89%) rename src/include/units/physical/si/cgs/{ => bits/derived}/pressure.h (86%) rename src/include/units/physical/si/cgs/{ => bits/derived}/speed.h (87%) create mode 100644 src/include/units/physical/si/cgs/cgs.h rename src/include/units/physical/si/fps/{ => base}/length.h (98%) rename src/include/units/physical/si/fps/{ => base}/mass.h (99%) rename src/include/units/physical/si/fps/{ => base}/time.h (97%) create mode 100644 src/include/units/physical/si/fps/base_quantities.h rename src/include/units/physical/si/fps/{ => bits/derived}/acceleration.h (89%) rename src/include/units/physical/si/fps/{ => bits/derived}/area.h (88%) rename src/include/units/physical/si/fps/{ => bits/derived}/density.h (87%) rename src/include/units/physical/si/fps/{ => bits/derived}/energy.h (91%) rename src/include/units/physical/si/fps/{ => bits/derived}/force.h (90%) rename src/include/units/physical/si/fps/{ => bits/derived}/power.h (92%) rename src/include/units/physical/si/fps/{ => bits/derived}/pressure.h (91%) rename src/include/units/physical/si/fps/{ => bits/derived}/speed.h (90%) rename src/include/units/physical/si/fps/{ => bits/derived}/volume.h (90%) create mode 100644 src/include/units/physical/si/fps/fps.h rename src/include/units/physical/si/iau/{ => base}/length.h (98%) create mode 100644 src/include/units/physical/si/iau/iau.h rename src/include/units/physical/si/imperial/{ => base}/length.h (97%) create mode 100644 src/include/units/physical/si/imperial/imperial.h rename src/include/units/physical/si/international/{ => base}/length.h (98%) rename src/include/units/physical/si/international/{ => bits/derived}/area.h (84%) rename src/include/units/physical/si/international/{ => bits/derived}/speed.h (84%) rename src/include/units/physical/si/international/{ => bits/derived}/volume.h (84%) create mode 100644 src/include/units/physical/si/international/international.h create mode 100644 src/include/units/physical/si/si.h rename src/include/units/physical/si/typographic/{ => base}/length.h (98%) create mode 100644 src/include/units/physical/si/typographic/typographic.h rename src/include/units/physical/si/us/{ => base}/length.h (98%) create mode 100644 src/include/units/physical/si/us/us.h diff --git a/docs_disabled/reference/systems/physical/si/absorbed_dose.rst b/docs_disabled/reference/systems/physical/si/absorbed_dose.rst index 30826f1a..481f8211 100644 --- a/docs_disabled/reference/systems/physical/si/absorbed_dose.rst +++ b/docs_disabled/reference/systems/physical/si/absorbed_dose.rst @@ -1,4 +1,4 @@ Absorbed Dose ============= -.. doxygenfile:: si/absorbed_dose.h +.. doxygenfile:: si/bits/derived/absorbed_dose.h diff --git a/docs_disabled/reference/systems/physical/si/acceleration.rst b/docs_disabled/reference/systems/physical/si/acceleration.rst index da1884b1..a7b16f2a 100644 --- a/docs_disabled/reference/systems/physical/si/acceleration.rst +++ b/docs_disabled/reference/systems/physical/si/acceleration.rst @@ -1,4 +1,4 @@ Acceleration ============ -.. doxygenfile:: si/acceleration.h +.. doxygenfile:: si/bits/derived/acceleration.h diff --git a/docs_disabled/reference/systems/physical/si/area.rst b/docs_disabled/reference/systems/physical/si/area.rst index b1f8c2c4..678e233d 100644 --- a/docs_disabled/reference/systems/physical/si/area.rst +++ b/docs_disabled/reference/systems/physical/si/area.rst @@ -1,4 +1,4 @@ Area ==== -.. doxygenfile:: si/area.h +.. doxygenfile:: si/bits/derived/area.h diff --git a/docs_disabled/reference/systems/physical/si/capacitance.rst b/docs_disabled/reference/systems/physical/si/capacitance.rst index 00fe1dc3..9c913215 100644 --- a/docs_disabled/reference/systems/physical/si/capacitance.rst +++ b/docs_disabled/reference/systems/physical/si/capacitance.rst @@ -1,4 +1,4 @@ Capacitance =========== -.. doxygenfile:: si/capacitance.h +.. doxygenfile:: si/bits/derived/capacitance.h diff --git a/docs_disabled/reference/systems/physical/si/catalytic_activity.rst b/docs_disabled/reference/systems/physical/si/catalytic_activity.rst index ec5ceb09..1392ab86 100644 --- a/docs_disabled/reference/systems/physical/si/catalytic_activity.rst +++ b/docs_disabled/reference/systems/physical/si/catalytic_activity.rst @@ -1,4 +1,4 @@ Catalytic Activity ================== -.. doxygenfile:: si/catalytic_activity.h +.. doxygenfile:: si/bits/derived/catalytic_activity.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/acceleration.rst b/docs_disabled/reference/systems/physical/si/cgs/acceleration.rst index 4a04598d..f5e1a293 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/acceleration.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/acceleration.rst @@ -1,4 +1,4 @@ Acceleration ============ -.. doxygenfile:: si/cgs/acceleration.h +.. doxygenfile:: si/cgs/bits/derived/acceleration.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/area.rst b/docs_disabled/reference/systems/physical/si/cgs/area.rst index e97b1dfa..0ae1e7c1 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/area.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/area.rst @@ -1,4 +1,4 @@ Area ==== -.. doxygenfile:: si/cgs/area.h +.. doxygenfile:: si/cgs/bits/derived/area.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/energy.rst b/docs_disabled/reference/systems/physical/si/cgs/energy.rst index 1026e75f..ea7ec696 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/energy.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/energy.rst @@ -1,4 +1,4 @@ Energy ====== -.. doxygenfile:: si/cgs/energy.h +.. doxygenfile:: si/cgs/bits/derived/energy.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/force.rst b/docs_disabled/reference/systems/physical/si/cgs/force.rst index 4f3e2cb5..e8c6646e 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/force.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/force.rst @@ -1,4 +1,4 @@ Force ===== -.. doxygenfile:: si/cgs/force.h +.. doxygenfile:: si/cgs/bits/derived/force.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/length.rst b/docs_disabled/reference/systems/physical/si/cgs/length.rst index 5deefb4b..f72c220a 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/length.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/length.rst @@ -1,4 +1,4 @@ Length ====== -.. doxygenfile:: si/cgs/length.h +.. doxygenfile:: si/cgs/base/length.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/mass.rst b/docs_disabled/reference/systems/physical/si/cgs/mass.rst index 9be1a471..0084e8d7 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/mass.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/mass.rst @@ -1,4 +1,4 @@ Mass ==== -.. doxygenfile:: si/cgs/mass.h +.. doxygenfile:: si/cgs/base/mass.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/power.rst b/docs_disabled/reference/systems/physical/si/cgs/power.rst index 8725ef62..664ea3a6 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/power.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/power.rst @@ -1,4 +1,4 @@ Power ===== -.. doxygenfile:: si/cgs/power.h +.. doxygenfile:: si/cgs/bits/derived/power.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/pressure.rst b/docs_disabled/reference/systems/physical/si/cgs/pressure.rst index 5efd0777..c123be47 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/pressure.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/pressure.rst @@ -1,4 +1,4 @@ Pressure ======== -.. doxygenfile:: si/cgs/pressure.h +.. doxygenfile:: si/cgs/bits/derived/pressure.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/speed.rst b/docs_disabled/reference/systems/physical/si/cgs/speed.rst index 37d6226e..2b123163 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/speed.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/speed.rst @@ -1,4 +1,4 @@ Speed ===== -.. doxygenfile:: si/cgs/speed.h +.. doxygenfile:: si/cgs/bits/derived/speed.h diff --git a/docs_disabled/reference/systems/physical/si/cgs/time.rst b/docs_disabled/reference/systems/physical/si/cgs/time.rst index 30e42097..9f348d47 100644 --- a/docs_disabled/reference/systems/physical/si/cgs/time.rst +++ b/docs_disabled/reference/systems/physical/si/cgs/time.rst @@ -1,4 +1,4 @@ Time ==== -.. doxygenfile:: si/cgs/time.h +.. doxygenfile:: si/cgs/base/time.h diff --git a/docs_disabled/reference/systems/physical/si/charge_density.rst b/docs_disabled/reference/systems/physical/si/charge_density.rst index 5474ab48..cc851c97 100644 --- a/docs_disabled/reference/systems/physical/si/charge_density.rst +++ b/docs_disabled/reference/systems/physical/si/charge_density.rst @@ -1,4 +1,4 @@ Charge Density ============== -.. doxygenfile:: si/charge_density.h +.. doxygenfile:: si/bits/derived/charge_density.h diff --git a/docs_disabled/reference/systems/physical/si/concentration.rst b/docs_disabled/reference/systems/physical/si/concentration.rst index cb89c7fe..76632cbf 100644 --- a/docs_disabled/reference/systems/physical/si/concentration.rst +++ b/docs_disabled/reference/systems/physical/si/concentration.rst @@ -1,4 +1,4 @@ Concentration ============= -.. doxygenfile:: si/conductance.h +.. doxygenfile:: si/bits/derived/conductance.h diff --git a/docs_disabled/reference/systems/physical/si/conductance.rst b/docs_disabled/reference/systems/physical/si/conductance.rst index 47af0e27..965337fb 100644 --- a/docs_disabled/reference/systems/physical/si/conductance.rst +++ b/docs_disabled/reference/systems/physical/si/conductance.rst @@ -1,4 +1,4 @@ Conductance =========== -.. doxygenfile:: si/conductance.h +.. doxygenfile:: si/bits/derived/conductance.h diff --git a/docs_disabled/reference/systems/physical/si/current.rst b/docs_disabled/reference/systems/physical/si/current.rst index 71d25c61..acfbdcfe 100644 --- a/docs_disabled/reference/systems/physical/si/current.rst +++ b/docs_disabled/reference/systems/physical/si/current.rst @@ -1,4 +1,4 @@ Current ======= -.. doxygenfile:: si/current.h +.. doxygenfile:: si/base/current.h diff --git a/docs_disabled/reference/systems/physical/si/current_density.rst b/docs_disabled/reference/systems/physical/si/current_density.rst index a3441a83..0c6fc038 100644 --- a/docs_disabled/reference/systems/physical/si/current_density.rst +++ b/docs_disabled/reference/systems/physical/si/current_density.rst @@ -1,4 +1,4 @@ Current density =============== -.. doxygenfile:: si/current_density.h +.. doxygenfile:: si/bits/derived/current_density.h diff --git a/docs_disabled/reference/systems/physical/si/density.rst b/docs_disabled/reference/systems/physical/si/density.rst index 4cf74da7..1121c118 100644 --- a/docs_disabled/reference/systems/physical/si/density.rst +++ b/docs_disabled/reference/systems/physical/si/density.rst @@ -1,4 +1,4 @@ Density ======= -.. doxygenfile:: si/density.h +.. doxygenfile:: si/bits/derived/density.h diff --git a/docs_disabled/reference/systems/physical/si/dynamic_viscosity.rst b/docs_disabled/reference/systems/physical/si/dynamic_viscosity.rst index 667e1310..81b5a9ee 100644 --- a/docs_disabled/reference/systems/physical/si/dynamic_viscosity.rst +++ b/docs_disabled/reference/systems/physical/si/dynamic_viscosity.rst @@ -1,4 +1,4 @@ Dynamic Viscosity ================= -.. doxygenfile:: si/dynamic_viscosity.h +.. doxygenfile:: si/bits/derived/dynamic_viscosity.h diff --git a/docs_disabled/reference/systems/physical/si/electric_charge.rst b/docs_disabled/reference/systems/physical/si/electric_charge.rst index 93b5497f..639781e9 100644 --- a/docs_disabled/reference/systems/physical/si/electric_charge.rst +++ b/docs_disabled/reference/systems/physical/si/electric_charge.rst @@ -1,4 +1,4 @@ Electric Charge =============== -.. doxygenfile:: si/electric_charge.h +.. doxygenfile:: si/bits/derived/electric_charge.h diff --git a/docs_disabled/reference/systems/physical/si/electric_field_strength.rst b/docs_disabled/reference/systems/physical/si/electric_field_strength.rst index 71f09277..039e39bb 100644 --- a/docs_disabled/reference/systems/physical/si/electric_field_strength.rst +++ b/docs_disabled/reference/systems/physical/si/electric_field_strength.rst @@ -1,4 +1,4 @@ Electric Field Strength ======================= -.. doxygenfile:: si/electric_field_strength.h +.. doxygenfile:: si/bits/derived/electric_field_strength.h diff --git a/docs_disabled/reference/systems/physical/si/energy.rst b/docs_disabled/reference/systems/physical/si/energy.rst index db30ee27..5e49c77e 100644 --- a/docs_disabled/reference/systems/physical/si/energy.rst +++ b/docs_disabled/reference/systems/physical/si/energy.rst @@ -1,4 +1,4 @@ Energy ====== -.. doxygenfile:: si/energy.h +.. doxygenfile:: si/bits/derived/energy.h diff --git a/docs_disabled/reference/systems/physical/si/force.rst b/docs_disabled/reference/systems/physical/si/force.rst index f47473ae..05c927f9 100644 --- a/docs_disabled/reference/systems/physical/si/force.rst +++ b/docs_disabled/reference/systems/physical/si/force.rst @@ -1,4 +1,4 @@ Force ===== -.. doxygenfile:: si/force.h +.. doxygenfile:: si/bits/derived/force.h diff --git a/docs_disabled/reference/systems/physical/si/fps/acceleration.rst b/docs_disabled/reference/systems/physical/si/fps/acceleration.rst index dfc5d510..937d8a76 100644 --- a/docs_disabled/reference/systems/physical/si/fps/acceleration.rst +++ b/docs_disabled/reference/systems/physical/si/fps/acceleration.rst @@ -1,4 +1,4 @@ Acceleration ============ -.. doxygenfile:: si/fps/acceleration.h +.. doxygenfile:: si/fps/bits/derived/acceleration.h diff --git a/docs_disabled/reference/systems/physical/si/fps/area.rst b/docs_disabled/reference/systems/physical/si/fps/area.rst index 00cc067c..20387808 100644 --- a/docs_disabled/reference/systems/physical/si/fps/area.rst +++ b/docs_disabled/reference/systems/physical/si/fps/area.rst @@ -1,4 +1,4 @@ Area ==== -.. doxygenfile:: si/fps/area.h +.. doxygenfile:: si/fps/bits/derived/area.h diff --git a/docs_disabled/reference/systems/physical/si/fps/density.rst b/docs_disabled/reference/systems/physical/si/fps/density.rst index c0b70ddf..5bb9e9b4 100644 --- a/docs_disabled/reference/systems/physical/si/fps/density.rst +++ b/docs_disabled/reference/systems/physical/si/fps/density.rst @@ -1,4 +1,4 @@ Density ======= -.. doxygenfile:: si/fps/density.h +.. doxygenfile:: si/fps/bits/derived/density.h diff --git a/docs_disabled/reference/systems/physical/si/fps/energy.rst b/docs_disabled/reference/systems/physical/si/fps/energy.rst index 949cbd91..9110e21b 100644 --- a/docs_disabled/reference/systems/physical/si/fps/energy.rst +++ b/docs_disabled/reference/systems/physical/si/fps/energy.rst @@ -1,4 +1,4 @@ Energy ====== -.. doxygenfile:: si/fps/energy.h +.. doxygenfile:: si/fps/bits/derived/energy.h diff --git a/docs_disabled/reference/systems/physical/si/fps/force.rst b/docs_disabled/reference/systems/physical/si/fps/force.rst index 02b355b7..05edb60c 100644 --- a/docs_disabled/reference/systems/physical/si/fps/force.rst +++ b/docs_disabled/reference/systems/physical/si/fps/force.rst @@ -1,4 +1,4 @@ Force ===== -.. doxygenfile:: si/fps/force.h +.. doxygenfile:: si/fps/bits/derived/force.h diff --git a/docs_disabled/reference/systems/physical/si/fps/length.rst b/docs_disabled/reference/systems/physical/si/fps/length.rst index e32c16f3..e1b61a0a 100644 --- a/docs_disabled/reference/systems/physical/si/fps/length.rst +++ b/docs_disabled/reference/systems/physical/si/fps/length.rst @@ -1,4 +1,4 @@ Length ====== -.. doxygenfile:: si/fps/length.h +.. doxygenfile:: si/fps/base/length.h diff --git a/docs_disabled/reference/systems/physical/si/fps/mass.rst b/docs_disabled/reference/systems/physical/si/fps/mass.rst index e77ac1ba..6f5fcc3f 100644 --- a/docs_disabled/reference/systems/physical/si/fps/mass.rst +++ b/docs_disabled/reference/systems/physical/si/fps/mass.rst @@ -1,4 +1,4 @@ Mass ==== -.. doxygenfile:: si/fps/mass.h +.. doxygenfile:: si/fps/base/mass.h diff --git a/docs_disabled/reference/systems/physical/si/fps/power.rst b/docs_disabled/reference/systems/physical/si/fps/power.rst index 28f52f3c..63fa88ed 100644 --- a/docs_disabled/reference/systems/physical/si/fps/power.rst +++ b/docs_disabled/reference/systems/physical/si/fps/power.rst @@ -1,4 +1,4 @@ Power ===== -.. doxygenfile:: si/fps/power.h +.. doxygenfile:: si/fps/bits/derived/power.h diff --git a/docs_disabled/reference/systems/physical/si/fps/pressure.rst b/docs_disabled/reference/systems/physical/si/fps/pressure.rst index 5144b50d..59d8cbeb 100644 --- a/docs_disabled/reference/systems/physical/si/fps/pressure.rst +++ b/docs_disabled/reference/systems/physical/si/fps/pressure.rst @@ -1,4 +1,4 @@ Pressure ======== -.. doxygenfile:: si/fps/pressure.h +.. doxygenfile:: si/fps/bits/derived/pressure.h diff --git a/docs_disabled/reference/systems/physical/si/fps/speed.rst b/docs_disabled/reference/systems/physical/si/fps/speed.rst index 3f3388d9..f81f3b65 100644 --- a/docs_disabled/reference/systems/physical/si/fps/speed.rst +++ b/docs_disabled/reference/systems/physical/si/fps/speed.rst @@ -1,4 +1,4 @@ Speed ===== -.. doxygenfile:: si/fps/speed.h +.. doxygenfile:: si/fps/bits/derived/speed.h diff --git a/docs_disabled/reference/systems/physical/si/fps/time.rst b/docs_disabled/reference/systems/physical/si/fps/time.rst index 0be4a9ad..a1d1bcdb 100644 --- a/docs_disabled/reference/systems/physical/si/fps/time.rst +++ b/docs_disabled/reference/systems/physical/si/fps/time.rst @@ -1,4 +1,4 @@ Time ==== -.. doxygenfile:: si/fps/time.h +.. doxygenfile:: si/fps/base/time.h diff --git a/docs_disabled/reference/systems/physical/si/fps/volume.rst b/docs_disabled/reference/systems/physical/si/fps/volume.rst index 788fd445..f93ba602 100644 --- a/docs_disabled/reference/systems/physical/si/fps/volume.rst +++ b/docs_disabled/reference/systems/physical/si/fps/volume.rst @@ -1,4 +1,4 @@ Volume ====== -.. doxygenfile:: si/fps/volume.h +.. doxygenfile:: si/fps/bits/derived/volume.h diff --git a/docs_disabled/reference/systems/physical/si/frequency.rst b/docs_disabled/reference/systems/physical/si/frequency.rst index da111def..79240051 100644 --- a/docs_disabled/reference/systems/physical/si/frequency.rst +++ b/docs_disabled/reference/systems/physical/si/frequency.rst @@ -1,4 +1,4 @@ Frequency ========= -.. doxygenfile:: si/frequency.h +.. doxygenfile:: si/bits/derived/frequency.h diff --git a/docs_disabled/reference/systems/physical/si/heat_capacity.rst b/docs_disabled/reference/systems/physical/si/heat_capacity.rst index 5f3183c9..c02b7023 100644 --- a/docs_disabled/reference/systems/physical/si/heat_capacity.rst +++ b/docs_disabled/reference/systems/physical/si/heat_capacity.rst @@ -1,4 +1,4 @@ Heat Capacity ============= -.. doxygenfile:: si/heat_capacity.h +.. doxygenfile:: si/bits/derived/heat_capacity.h diff --git a/docs_disabled/reference/systems/physical/si/iau/length.rst b/docs_disabled/reference/systems/physical/si/iau/length.rst index a87bd7b7..652999bb 100644 --- a/docs_disabled/reference/systems/physical/si/iau/length.rst +++ b/docs_disabled/reference/systems/physical/si/iau/length.rst @@ -1,4 +1,4 @@ Length ====== -.. doxygenfile:: si/iau/length.h +.. doxygenfile:: si/iau/base/length.h diff --git a/docs_disabled/reference/systems/physical/si/imperial/length.rst b/docs_disabled/reference/systems/physical/si/imperial/length.rst index bf66246d..6268a665 100644 --- a/docs_disabled/reference/systems/physical/si/imperial/length.rst +++ b/docs_disabled/reference/systems/physical/si/imperial/length.rst @@ -1,4 +1,4 @@ Length ====== -.. doxygenfile:: si/imperial/length.h +.. doxygenfile:: si/imperial/base/length.h diff --git a/docs_disabled/reference/systems/physical/si/inductance.rst b/docs_disabled/reference/systems/physical/si/inductance.rst index 8a128cbd..26edb4bb 100644 --- a/docs_disabled/reference/systems/physical/si/inductance.rst +++ b/docs_disabled/reference/systems/physical/si/inductance.rst @@ -1,4 +1,4 @@ Inductance ========== -.. doxygenfile:: si/inductance.h +.. doxygenfile:: si/bits/derived/inductance.h diff --git a/docs_disabled/reference/systems/physical/si/international/area.rst b/docs_disabled/reference/systems/physical/si/international/area.rst index f4841300..e46a4a1f 100644 --- a/docs_disabled/reference/systems/physical/si/international/area.rst +++ b/docs_disabled/reference/systems/physical/si/international/area.rst @@ -1,4 +1,4 @@ Area ==== -.. doxygenfile:: si/international/area.h +.. doxygenfile:: si/international/bits/derived/area.h diff --git a/docs_disabled/reference/systems/physical/si/international/length.rst b/docs_disabled/reference/systems/physical/si/international/length.rst index 878b4b17..5dc17f00 100644 --- a/docs_disabled/reference/systems/physical/si/international/length.rst +++ b/docs_disabled/reference/systems/physical/si/international/length.rst @@ -1,4 +1,4 @@ Length ====== -.. doxygenfile:: si/international/length.h +.. doxygenfile:: si/international/base/length.h diff --git a/docs_disabled/reference/systems/physical/si/international/speed.rst b/docs_disabled/reference/systems/physical/si/international/speed.rst index ba885229..8a94051c 100644 --- a/docs_disabled/reference/systems/physical/si/international/speed.rst +++ b/docs_disabled/reference/systems/physical/si/international/speed.rst @@ -1,4 +1,4 @@ Speed ===== -.. doxygenfile:: speed/length.h +.. doxygenfile:: speed/bits/derived/speed.h diff --git a/docs_disabled/reference/systems/physical/si/international/volume.rst b/docs_disabled/reference/systems/physical/si/international/volume.rst index 2530bbbe..6327de38 100644 --- a/docs_disabled/reference/systems/physical/si/international/volume.rst +++ b/docs_disabled/reference/systems/physical/si/international/volume.rst @@ -1,4 +1,4 @@ Volume ====== -.. doxygenfile:: si/international/volume.h +.. doxygenfile:: si/international/bits/derived/volume.h diff --git a/docs_disabled/reference/systems/physical/si/length.rst b/docs_disabled/reference/systems/physical/si/length.rst index 34aace98..ae4b302e 100644 --- a/docs_disabled/reference/systems/physical/si/length.rst +++ b/docs_disabled/reference/systems/physical/si/length.rst @@ -1,4 +1,4 @@ Length ====== -.. doxygenfile:: si/length.h +.. doxygenfile:: si/base/length.h diff --git a/docs_disabled/reference/systems/physical/si/luminance.rst b/docs_disabled/reference/systems/physical/si/luminance.rst index 2621b0b6..a54aac40 100644 --- a/docs_disabled/reference/systems/physical/si/luminance.rst +++ b/docs_disabled/reference/systems/physical/si/luminance.rst @@ -1,4 +1,4 @@ Luminance ========= -.. doxygenfile:: si/luminance.h +.. doxygenfile:: si/base/luminance.h diff --git a/docs_disabled/reference/systems/physical/si/luminous_intensity.rst b/docs_disabled/reference/systems/physical/si/luminous_intensity.rst index a1ed45c5..0f02de5b 100644 --- a/docs_disabled/reference/systems/physical/si/luminous_intensity.rst +++ b/docs_disabled/reference/systems/physical/si/luminous_intensity.rst @@ -1,4 +1,4 @@ Luminous Intensity ================== -.. doxygenfile:: si/luminous_intensity.h +.. doxygenfile:: si/bits/derived/luminous_intensity.h diff --git a/docs_disabled/reference/systems/physical/si/magnetic_flux.rst b/docs_disabled/reference/systems/physical/si/magnetic_flux.rst index 99f2b06f..32bd0fb2 100644 --- a/docs_disabled/reference/systems/physical/si/magnetic_flux.rst +++ b/docs_disabled/reference/systems/physical/si/magnetic_flux.rst @@ -1,4 +1,4 @@ Magnetic Flux ============= -.. doxygenfile:: si/magnetic_flux.h +.. doxygenfile:: si/bits/derived/magnetic_flux.h diff --git a/docs_disabled/reference/systems/physical/si/magnetic_induction.rst b/docs_disabled/reference/systems/physical/si/magnetic_induction.rst index be77904b..1077ab9e 100644 --- a/docs_disabled/reference/systems/physical/si/magnetic_induction.rst +++ b/docs_disabled/reference/systems/physical/si/magnetic_induction.rst @@ -1,4 +1,4 @@ Magnetic Induction ================== -.. doxygenfile:: si/magnetic_induction.h +.. doxygenfile:: si/bits/derived/magnetic_induction.h diff --git a/docs_disabled/reference/systems/physical/si/mass.rst b/docs_disabled/reference/systems/physical/si/mass.rst index a569508d..76eb6978 100644 --- a/docs_disabled/reference/systems/physical/si/mass.rst +++ b/docs_disabled/reference/systems/physical/si/mass.rst @@ -1,4 +1,4 @@ Mass ==== -.. doxygenfile:: si/mass.h +.. doxygenfile:: si/base/mass.h diff --git a/docs_disabled/reference/systems/physical/si/molar_energy.rst b/docs_disabled/reference/systems/physical/si/molar_energy.rst index 60401a69..ba9f2194 100644 --- a/docs_disabled/reference/systems/physical/si/molar_energy.rst +++ b/docs_disabled/reference/systems/physical/si/molar_energy.rst @@ -1,4 +1,4 @@ Molar Energy ============ -.. doxygenfile:: si/molar_energy.h +.. doxygenfile:: si/bits/derived/molar_energy.h diff --git a/docs_disabled/reference/systems/physical/si/momentum.rst b/docs_disabled/reference/systems/physical/si/momentum.rst index 76949ccb..78b9dbd9 100644 --- a/docs_disabled/reference/systems/physical/si/momentum.rst +++ b/docs_disabled/reference/systems/physical/si/momentum.rst @@ -1,4 +1,4 @@ Momentum ======== -.. doxygenfile:: si/momentum.h +.. doxygenfile:: si/bits/derived/momentum.h diff --git a/docs_disabled/reference/systems/physical/si/permeability.rst b/docs_disabled/reference/systems/physical/si/permeability.rst index da5e0ec7..e92aba75 100644 --- a/docs_disabled/reference/systems/physical/si/permeability.rst +++ b/docs_disabled/reference/systems/physical/si/permeability.rst @@ -1,4 +1,4 @@ Permeability ============ -.. doxygenfile:: si/permeability.h +.. doxygenfile:: si/bits/derived/permeability.h diff --git a/docs_disabled/reference/systems/physical/si/permittivity.rst b/docs_disabled/reference/systems/physical/si/permittivity.rst index befdb2a2..52b413b2 100644 --- a/docs_disabled/reference/systems/physical/si/permittivity.rst +++ b/docs_disabled/reference/systems/physical/si/permittivity.rst @@ -1,4 +1,4 @@ Permittivity ============ -.. doxygenfile:: si/permittivity.h +.. doxygenfile:: si/bits/derived/permittivity.h diff --git a/docs_disabled/reference/systems/physical/si/power.rst b/docs_disabled/reference/systems/physical/si/power.rst index f3d6e0b9..fd0ea27d 100644 --- a/docs_disabled/reference/systems/physical/si/power.rst +++ b/docs_disabled/reference/systems/physical/si/power.rst @@ -1,4 +1,4 @@ Power ===== -.. doxygenfile:: si/power.h +.. doxygenfile:: si/bits/derived/power.h diff --git a/docs_disabled/reference/systems/physical/si/prefixes.rst b/docs_disabled/reference/systems/physical/si/prefixes.rst index ea673f05..3dadaae4 100644 --- a/docs_disabled/reference/systems/physical/si/prefixes.rst +++ b/docs_disabled/reference/systems/physical/si/prefixes.rst @@ -1,4 +1,4 @@ Prefixes ======== -.. doxygenfile:: si/prefixes.h +.. doxygenfile:: si/bits/derived/prefixes.h diff --git a/docs_disabled/reference/systems/physical/si/pressure.rst b/docs_disabled/reference/systems/physical/si/pressure.rst index ccd0c014..24f7f608 100644 --- a/docs_disabled/reference/systems/physical/si/pressure.rst +++ b/docs_disabled/reference/systems/physical/si/pressure.rst @@ -1,4 +1,4 @@ Pressure ======== -.. doxygenfile:: si/pressure.h +.. doxygenfile:: si/bits/derived/pressure.h diff --git a/docs_disabled/reference/systems/physical/si/resistance.rst b/docs_disabled/reference/systems/physical/si/resistance.rst index d5ce1512..0b77a921 100644 --- a/docs_disabled/reference/systems/physical/si/resistance.rst +++ b/docs_disabled/reference/systems/physical/si/resistance.rst @@ -1,4 +1,4 @@ Resistance ========== -.. doxygenfile:: si/resistance.h +.. doxygenfile:: si/bits/derived/resistance.h diff --git a/docs_disabled/reference/systems/physical/si/speed.rst b/docs_disabled/reference/systems/physical/si/speed.rst index 1b7278be..73c2161f 100644 --- a/docs_disabled/reference/systems/physical/si/speed.rst +++ b/docs_disabled/reference/systems/physical/si/speed.rst @@ -1,4 +1,4 @@ Speed ===== -.. doxygenfile:: si/speed.h +.. doxygenfile:: si/bits/derived/speed.h diff --git a/docs_disabled/reference/systems/physical/si/substance.rst b/docs_disabled/reference/systems/physical/si/substance.rst index 347c8e2d..e2d51fcf 100644 --- a/docs_disabled/reference/systems/physical/si/substance.rst +++ b/docs_disabled/reference/systems/physical/si/substance.rst @@ -1,4 +1,4 @@ Substance ========= -.. doxygenfile:: si/substance.h +.. doxygenfile:: si/base/substance.h diff --git a/docs_disabled/reference/systems/physical/si/surface_tension.rst b/docs_disabled/reference/systems/physical/si/surface_tension.rst index 94212027..69e433de 100644 --- a/docs_disabled/reference/systems/physical/si/surface_tension.rst +++ b/docs_disabled/reference/systems/physical/si/surface_tension.rst @@ -1,4 +1,4 @@ Surface Tension =============== -.. doxygenfile:: si/surface_tension.h +.. doxygenfile:: si/bits/derived/surface_tension.h diff --git a/docs_disabled/reference/systems/physical/si/temperature.rst b/docs_disabled/reference/systems/physical/si/temperature.rst index 08672d4e..713e83a7 100644 --- a/docs_disabled/reference/systems/physical/si/temperature.rst +++ b/docs_disabled/reference/systems/physical/si/temperature.rst @@ -1,4 +1,4 @@ Temperature =========== -.. doxygenfile:: si/temperature.h +.. doxygenfile:: si/base/temperature.h diff --git a/docs_disabled/reference/systems/physical/si/thermal_conductivity.rst b/docs_disabled/reference/systems/physical/si/thermal_conductivity.rst index dd6d94cd..ae139aba 100644 --- a/docs_disabled/reference/systems/physical/si/thermal_conductivity.rst +++ b/docs_disabled/reference/systems/physical/si/thermal_conductivity.rst @@ -1,4 +1,4 @@ Thermal Conductivity ==================== -.. doxygenfile:: si/thermal_conductivity.h +.. doxygenfile:: si/bits/derived/thermal_conductivity.h diff --git a/docs_disabled/reference/systems/physical/si/time.rst b/docs_disabled/reference/systems/physical/si/time.rst index 54d4b41d..4929ed4a 100644 --- a/docs_disabled/reference/systems/physical/si/time.rst +++ b/docs_disabled/reference/systems/physical/si/time.rst @@ -1,4 +1,4 @@ Time ==== -.. doxygenfile:: si/time.h +.. doxygenfile:: si/base/time.h diff --git a/docs_disabled/reference/systems/physical/si/typographic/length.rst b/docs_disabled/reference/systems/physical/si/typographic/length.rst index 363fc1f6..a163ac66 100644 --- a/docs_disabled/reference/systems/physical/si/typographic/length.rst +++ b/docs_disabled/reference/systems/physical/si/typographic/length.rst @@ -1,4 +1,4 @@ Length ====== -.. doxygenfile:: si/typographic/length.h +.. doxygenfile:: si/typographic/base/length.h diff --git a/docs_disabled/reference/systems/physical/si/us/length.rst b/docs_disabled/reference/systems/physical/si/us/length.rst index 97e365ad..d2220d20 100644 --- a/docs_disabled/reference/systems/physical/si/us/length.rst +++ b/docs_disabled/reference/systems/physical/si/us/length.rst @@ -1,4 +1,4 @@ Length ====== -.. doxygenfile:: si/us/length.h +.. doxygenfile:: si/us/base/length.h diff --git a/docs_disabled/reference/systems/physical/si/voltage.rst b/docs_disabled/reference/systems/physical/si/voltage.rst index 633aac5a..bb191d31 100644 --- a/docs_disabled/reference/systems/physical/si/voltage.rst +++ b/docs_disabled/reference/systems/physical/si/voltage.rst @@ -1,4 +1,4 @@ Voltage ======= -.. doxygenfile:: si/voltage.h +.. doxygenfile:: si/bits/derived/voltage.h diff --git a/docs_disabled/reference/systems/physical/si/volume.rst b/docs_disabled/reference/systems/physical/si/volume.rst index 7af5cc86..8c137348 100644 --- a/docs_disabled/reference/systems/physical/si/volume.rst +++ b/docs_disabled/reference/systems/physical/si/volume.rst @@ -1,4 +1,4 @@ Volume ====== -.. doxygenfile:: si/volume.h +.. doxygenfile:: si/bits/derived/volume.h diff --git a/example/alternative_namespaces/acceleration.h b/example/alternative_namespaces/acceleration.h index 404a3187..6877f608 100644 --- a/example/alternative_namespaces/acceleration.h +++ b/example/alternative_namespaces/acceleration.h @@ -1,7 +1,7 @@ #pragma once -#include +#include namespace units{ namespace experimental{ diff --git a/example/alternative_namespaces/area.h b/example/alternative_namespaces/area.h index fb1a9ab9..f4a5de07 100644 --- a/example/alternative_namespaces/area.h +++ b/example/alternative_namespaces/area.h @@ -1,7 +1,7 @@ #pragma once -#include +#include namespace area { diff --git a/example/alternative_namespaces/capacitor_time_curve.cpp b/example/alternative_namespaces/capacitor_time_curve.cpp index 87a70a3c..8006f3ff 100644 --- a/example/alternative_namespaces/capacitor_time_curve.cpp +++ b/example/alternative_namespaces/capacitor_time_curve.cpp @@ -20,9 +20,7 @@ physical_quantities */ -#include -#include -#include +#include #include #include "./voltage.h" #include diff --git a/example/alternative_namespaces/density.h b/example/alternative_namespaces/density.h index 870da078..4c461abe 100644 --- a/example/alternative_namespaces/density.h +++ b/example/alternative_namespaces/density.h @@ -2,7 +2,7 @@ #pragma once -#include +#include namespace units{ namespace experimental{ diff --git a/example/alternative_namespaces/force.h b/example/alternative_namespaces/force.h index ad0945e5..b1ea9ce7 100644 --- a/example/alternative_namespaces/force.h +++ b/example/alternative_namespaces/force.h @@ -1,7 +1,7 @@ #pragma once -#include +#include namespace units{ namespace experimental{ diff --git a/example/alternative_namespaces/length.h b/example/alternative_namespaces/length.h index d9a40687..feb62bc8 100644 --- a/example/alternative_namespaces/length.h +++ b/example/alternative_namespaces/length.h @@ -2,12 +2,12 @@ #pragma once -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include namespace units{ namespace experimental{ diff --git a/example/alternative_namespaces/mass.h b/example/alternative_namespaces/mass.h index 57816bc7..af6d4fd6 100644 --- a/example/alternative_namespaces/mass.h +++ b/example/alternative_namespaces/mass.h @@ -2,7 +2,7 @@ #pragma once -#include +#include namespace units{ namespace experimental{ diff --git a/example/alternative_namespaces/time.h b/example/alternative_namespaces/time.h index f1d6650f..d13903fe 100644 --- a/example/alternative_namespaces/time.h +++ b/example/alternative_namespaces/time.h @@ -1,7 +1,7 @@ #pragma once -#include +#include // named qtime due to conflict with time_t time(time_t*) namespace q_time { diff --git a/example/alternative_namespaces/voltage.h b/example/alternative_namespaces/voltage.h index 258f597c..d18fa9c0 100644 --- a/example/alternative_namespaces/voltage.h +++ b/example/alternative_namespaces/voltage.h @@ -2,7 +2,7 @@ #pragma once -#include +#include namespace units{ namespace experimental{ diff --git a/example/alternative_namespaces/volume.h b/example/alternative_namespaces/volume.h index ff10fcfc..2476df49 100644 --- a/example/alternative_namespaces/volume.h +++ b/example/alternative_namespaces/volume.h @@ -2,7 +2,7 @@ #pragma once -#include +#include namespace units{ namespace experimental{ @@ -16,4 +16,3 @@ using m3 = units::physical::si::volume; }} // units::experimental - diff --git a/example/avg_speed.cpp b/example/avg_speed.cpp index cee5442c..6999c2c5 100644 --- a/example/avg_speed.cpp +++ b/example/avg_speed.cpp @@ -20,9 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include +#include +#include +#include #include namespace { diff --git a/example/box_example.cpp b/example/box_example.cpp index cb2c6d38..99e32dbc 100644 --- a/example/box_example.cpp +++ b/example/box_example.cpp @@ -1,11 +1,4 @@ -#include -#include -#include -#include -#include -#include -#include -#include +#include #include #include diff --git a/example/capacitor_time_curve.cpp b/example/capacitor_time_curve.cpp index f2709af1..34f7ded5 100644 --- a/example/capacitor_time_curve.cpp +++ b/example/capacitor_time_curve.cpp @@ -20,10 +20,7 @@ physical_quantities */ -#include -#include -#include -#include +#include #include #include diff --git a/example/clcpp_response.cpp b/example/clcpp_response.cpp index d94e66de..89473a31 100644 --- a/example/clcpp_response.cpp +++ b/example/clcpp_response.cpp @@ -16,15 +16,12 @@ */ #include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include namespace { diff --git a/example/conversion_factor.cpp b/example/conversion_factor.cpp index c73a2c21..94f4861c 100644 --- a/example/conversion_factor.cpp +++ b/example/conversion_factor.cpp @@ -15,7 +15,7 @@ along with this program. If not, see http://www.gnu.org/licenses./ */ -#include +#include #include #include diff --git a/example/experimental_angle.cpp b/example/experimental_angle.cpp index c0911caf..4fa9ca8c 100644 --- a/example/experimental_angle.cpp +++ b/example/experimental_angle.cpp @@ -21,9 +21,7 @@ // SOFTWARE. #include -#include -#include -#include +#include #include using namespace units; diff --git a/example/foot_pound_second.cpp b/example/foot_pound_second.cpp index 81d64649..4166f56c 100644 --- a/example/foot_pound_second.cpp +++ b/example/foot_pound_second.cpp @@ -22,17 +22,8 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include #include #include diff --git a/example/glide_computer.cpp b/example/glide_computer.cpp index cdcf8a30..53678cfa 100644 --- a/example/glide_computer.cpp +++ b/example/glide_computer.cpp @@ -22,8 +22,8 @@ #include #include -#include -#include +#include +#include #include #include #include diff --git a/example/hello_units.cpp b/example/hello_units.cpp index d4cb2581..8bae2b25 100644 --- a/example/hello_units.cpp +++ b/example/hello_units.cpp @@ -21,8 +21,8 @@ // SOFTWARE. #include -#include -#include +#include +#include #include using namespace units::physical; diff --git a/example/kalman_filter-alpha_beta_filter_example2.cpp b/example/kalman_filter-alpha_beta_filter_example2.cpp index 13eeabf6..46869653 100644 --- a/example/kalman_filter-alpha_beta_filter_example2.cpp +++ b/example/kalman_filter-alpha_beta_filter_example2.cpp @@ -1,7 +1,5 @@ #include -#include -#include -#include +#include #include #include diff --git a/example/linear_algebra.cpp b/example/linear_algebra.cpp index fcf336a1..3e92115f 100644 --- a/example/linear_algebra.cpp +++ b/example/linear_algebra.cpp @@ -20,9 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include +#include #include #include #include diff --git a/example/measurement.cpp b/example/measurement.cpp index 88fb1a3c..ffe86334 100644 --- a/example/measurement.cpp +++ b/example/measurement.cpp @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include #include #include #include diff --git a/example/total_energy.cpp b/example/total_energy.cpp index dc91368c..bf794316 100644 --- a/example/total_energy.cpp +++ b/example/total_energy.cpp @@ -20,11 +20,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include -#include -#include +#include +#include #include #include diff --git a/example/unknown_dimension.cpp b/example/unknown_dimension.cpp index 52d70caa..1220fa7c 100644 --- a/example/unknown_dimension.cpp +++ b/example/unknown_dimension.cpp @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include #include namespace { @@ -40,6 +40,7 @@ void example() Time auto t1 = 10_q_s; Speed auto v1 = avg_speed(d1, t1); + // TODO: check if below is still true after adding whole SI module auto temp1 = v1 * 50_q_m; // produces intermediate unknown dimension with 'unknown_coherent_unit' as its 'coherent_unit' Speed auto v2 = temp1 / 100_q_m; // back to known dimensions again Length auto d2 = v2 * 60_q_s; diff --git a/src/include/units/data/information.h b/src/include/units/data/base/information.h similarity index 100% rename from src/include/units/data/information.h rename to src/include/units/data/base/information.h diff --git a/src/include/units/data/bitrate.h b/src/include/units/data/bits/derived/bitrate.h similarity index 92% rename from src/include/units/data/bitrate.h rename to src/include/units/data/bits/derived/bitrate.h index c1f62b54..cd7bd65b 100644 --- a/src/include/units/data/bitrate.h +++ b/src/include/units/data/bits/derived/bitrate.h @@ -22,9 +22,15 @@ #pragma once -#include +#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 #include -#include +#include #include namespace units::data { diff --git a/src/include/units/data/data.h b/src/include/units/data/data.h new file mode 100644 index 00000000..1624b184 --- /dev/null +++ b/src/include/units/data/data.h @@ -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 +#include +#include diff --git a/src/include/units/physical/si/angle.h b/src/include/units/generic/angle.h similarity index 85% rename from src/include/units/physical/si/angle.h rename to src/include/units/generic/angle.h index a86c18be..2f0a2661 100644 --- a/src/include/units/physical/si/angle.h +++ b/src/include/units/generic/angle.h @@ -22,18 +22,18 @@ #pragma once -#include #include #include -namespace units::physical::si { +namespace units { -struct radian : named_unit {}; +struct radian : named_unit {}; -struct dim_angle : physical::dim_angle {}; +template +struct dim_angle : base_dimension<"A", U> {}; template -using angle = quantity; +using angle = quantity, U, Rep>; inline namespace literals { @@ -44,4 +44,4 @@ constexpr auto operator"" _q_rad(long double l) { return angle #include #include +#include #include #include #include @@ -47,8 +48,8 @@ template typename DimTemplate> concept EquivalentUnknownDimensionOf = Dimension && is_derived_from_specialization_of && detail::same_exponents_of; template typename DimTemplate> -concept DimensionOf = Dimension && (is_derived_from_specialization_of || - EquivalentUnknownDimensionOf); +concept DimensionOf = Dimension && (is_derived_from_specialization_of);// || + // EquivalentUnknownDimensionOf); template typename DimTemplate> concept QuantityOf = Quantity && DimensionOf; @@ -76,9 +77,6 @@ struct dim_substance : base_dimension<"N", U> {}; template struct dim_luminous_intensity : base_dimension<"J", U> {}; -template -struct dim_angle : base_dimension<"A", U> {}; - // ------------------------ derived dimensions ----------------------------- diff --git a/src/include/units/physical/natural/dimensions.h b/src/include/units/physical/natural/bits/dimensions.h similarity index 98% rename from src/include/units/physical/natural/dimensions.h rename to src/include/units/physical/natural/bits/dimensions.h index 3241ee4e..d589fa4b 100644 --- a/src/include/units/physical/natural/dimensions.h +++ b/src/include/units/physical/natural/bits/dimensions.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #include namespace units::physical::natural { diff --git a/src/include/units/physical/natural/units.h b/src/include/units/physical/natural/bits/units.h similarity index 100% rename from src/include/units/physical/natural/units.h rename to src/include/units/physical/natural/bits/units.h diff --git a/src/include/units/physical/natural/constants.h b/src/include/units/physical/natural/constants.h index fa19049f..743a706a 100644 --- a/src/include/units/physical/natural/constants.h +++ b/src/include/units/physical/natural/constants.h @@ -22,7 +22,7 @@ #pragma once -#include +#include namespace units::physical::natural { diff --git a/src/include/units/physical/natural/natural.h b/src/include/units/physical/natural/natural.h new file mode 100644 index 00000000..601ce01d --- /dev/null +++ b/src/include/units/physical/natural/natural.h @@ -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" diff --git a/src/include/units/physical/si.h b/src/include/units/physical/si.h deleted file mode 100644 index d5c7b5e2..00000000 --- a/src/include/units/physical/si.h +++ /dev/null @@ -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" diff --git a/src/include/units/physical/si/current.h b/src/include/units/physical/si/base/current.h similarity index 100% rename from src/include/units/physical/si/current.h rename to src/include/units/physical/si/base/current.h diff --git a/src/include/units/physical/si/length.h b/src/include/units/physical/si/base/length.h similarity index 100% rename from src/include/units/physical/si/length.h rename to src/include/units/physical/si/base/length.h diff --git a/src/include/units/physical/si/luminous_intensity.h b/src/include/units/physical/si/base/luminous_intensity.h similarity index 100% rename from src/include/units/physical/si/luminous_intensity.h rename to src/include/units/physical/si/base/luminous_intensity.h diff --git a/src/include/units/physical/si/mass.h b/src/include/units/physical/si/base/mass.h similarity index 100% rename from src/include/units/physical/si/mass.h rename to src/include/units/physical/si/base/mass.h diff --git a/src/include/units/physical/si/substance.h b/src/include/units/physical/si/base/substance.h similarity index 100% rename from src/include/units/physical/si/substance.h rename to src/include/units/physical/si/base/substance.h diff --git a/src/include/units/physical/si/temperature.h b/src/include/units/physical/si/base/temperature.h similarity index 100% rename from src/include/units/physical/si/temperature.h rename to src/include/units/physical/si/base/temperature.h diff --git a/src/include/units/physical/si/time.h b/src/include/units/physical/si/base/time.h similarity index 100% rename from src/include/units/physical/si/time.h rename to src/include/units/physical/si/base/time.h diff --git a/src/include/units/physical/si/absorbed_dose.h b/src/include/units/physical/si/bits/derived/absorbed_dose.h similarity index 97% rename from src/include/units/physical/si/absorbed_dose.h rename to src/include/units/physical/si/bits/derived/absorbed_dose.h index fa653710..40a59fea 100644 --- a/src/include/units/physical/si/absorbed_dose.h +++ b/src/include/units/physical/si/bits/derived/absorbed_dose.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 -#include -#include +#include #include #include diff --git a/src/include/units/physical/si/acceleration.h b/src/include/units/physical/si/bits/derived/acceleration.h similarity index 89% rename from src/include/units/physical/si/acceleration.h rename to src/include/units/physical/si/bits/derived/acceleration.h index 0d96c4a6..46f243d0 100644 --- a/src/include/units/physical/si/acceleration.h +++ b/src/include/units/physical/si/bits/derived/acceleration.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 -#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/angular_velocity.h b/src/include/units/physical/si/bits/derived/angular_velocity.h similarity index 86% rename from src/include/units/physical/si/angular_velocity.h rename to src/include/units/physical/si/bits/derived/angular_velocity.h index 4b48fb70..f217e15b 100644 --- a/src/include/units/physical/si/angular_velocity.h +++ b/src/include/units/physical/si/bits/derived/angular_velocity.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 -#include -#include +#include +#include #include @@ -32,7 +38,7 @@ namespace units::physical::si { struct radian_per_second : named_unit {}; -struct dim_angular_velocity : physical::dim_angular_velocity {}; +struct dim_angular_velocity : physical::dim_angular_velocity, dim_time> {}; template using angular_velocity = quantity; diff --git a/src/include/units/physical/si/area.h b/src/include/units/physical/si/bits/derived/area.h similarity index 97% rename from src/include/units/physical/si/area.h rename to src/include/units/physical/si/bits/derived/area.h index d66a0d36..d3055d14 100644 --- a/src/include/units/physical/si/area.h +++ b/src/include/units/physical/si/bits/derived/area.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 -#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/capacitance.h b/src/include/units/physical/si/bits/derived/capacitance.h similarity index 96% rename from src/include/units/physical/si/capacitance.h rename to src/include/units/physical/si/bits/derived/capacitance.h index 4ee8437d..7ee7cdfc 100644 --- a/src/include/units/physical/si/capacitance.h +++ b/src/include/units/physical/si/bits/derived/capacitance.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/catalytic_activity.h b/src/include/units/physical/si/bits/derived/catalytic_activity.h similarity index 97% rename from src/include/units/physical/si/catalytic_activity.h rename to src/include/units/physical/si/bits/derived/catalytic_activity.h index 114712b8..8a39791e 100644 --- a/src/include/units/physical/si/catalytic_activity.h +++ b/src/include/units/physical/si/bits/derived/catalytic_activity.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/charge_density.h b/src/include/units/physical/si/bits/derived/charge_density.h similarity index 90% rename from src/include/units/physical/si/charge_density.h rename to src/include/units/physical/si/bits/derived/charge_density.h index d63633d9..7402c39c 100644 --- a/src/include/units/physical/si/charge_density.h +++ b/src/include/units/physical/si/bits/derived/charge_density.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/concentration.h b/src/include/units/physical/si/bits/derived/concentration.h similarity index 88% rename from src/include/units/physical/si/concentration.h rename to src/include/units/physical/si/bits/derived/concentration.h index a2d5c0b0..601800cd 100644 --- a/src/include/units/physical/si/concentration.h +++ b/src/include/units/physical/si/bits/derived/concentration.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/conductance.h b/src/include/units/physical/si/bits/derived/conductance.h similarity index 96% rename from src/include/units/physical/si/conductance.h rename to src/include/units/physical/si/bits/derived/conductance.h index 49206d0d..c8e9a1f9 100644 --- a/src/include/units/physical/si/conductance.h +++ b/src/include/units/physical/si/bits/derived/conductance.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/current_density.h b/src/include/units/physical/si/bits/derived/current_density.h similarity index 88% rename from src/include/units/physical/si/current_density.h rename to src/include/units/physical/si/bits/derived/current_density.h index bf7fed31..ad490f9d 100644 --- a/src/include/units/physical/si/current_density.h +++ b/src/include/units/physical/si/bits/derived/current_density.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/density.h b/src/include/units/physical/si/bits/derived/density.h similarity index 88% rename from src/include/units/physical/si/density.h rename to src/include/units/physical/si/bits/derived/density.h index 340e44a4..172133b4 100644 --- a/src/include/units/physical/si/density.h +++ b/src/include/units/physical/si/bits/derived/density.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/dynamic_viscosity.h b/src/include/units/physical/si/bits/derived/dynamic_viscosity.h similarity index 88% rename from src/include/units/physical/si/dynamic_viscosity.h rename to src/include/units/physical/si/bits/derived/dynamic_viscosity.h index 95d2b716..73e11062 100644 --- a/src/include/units/physical/si/dynamic_viscosity.h +++ b/src/include/units/physical/si/bits/derived/dynamic_viscosity.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/electric_charge.h b/src/include/units/physical/si/bits/derived/electric_charge.h similarity index 88% rename from src/include/units/physical/si/electric_charge.h rename to src/include/units/physical/si/bits/derived/electric_charge.h index 19333bb2..a0490422 100644 --- a/src/include/units/physical/si/electric_charge.h +++ b/src/include/units/physical/si/bits/derived/electric_charge.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/electric_field_strength.h b/src/include/units/physical/si/bits/derived/electric_field_strength.h similarity index 90% rename from src/include/units/physical/si/electric_field_strength.h rename to src/include/units/physical/si/bits/derived/electric_field_strength.h index 88126358..fff193fe 100644 --- a/src/include/units/physical/si/electric_field_strength.h +++ b/src/include/units/physical/si/bits/derived/electric_field_strength.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 -#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/energy.h b/src/include/units/physical/si/bits/derived/energy.h similarity index 96% rename from src/include/units/physical/si/energy.h rename to src/include/units/physical/si/bits/derived/energy.h index 23b71076..0a9a9559 100644 --- a/src/include/units/physical/si/energy.h +++ b/src/include/units/physical/si/bits/derived/energy.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/force.h b/src/include/units/physical/si/bits/derived/force.h similarity index 96% rename from src/include/units/physical/si/force.h rename to src/include/units/physical/si/bits/derived/force.h index 93c5430f..5083db95 100644 --- a/src/include/units/physical/si/force.h +++ b/src/include/units/physical/si/bits/derived/force.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/frequency.h b/src/include/units/physical/si/bits/derived/frequency.h similarity index 96% rename from src/include/units/physical/si/frequency.h rename to src/include/units/physical/si/bits/derived/frequency.h index b737089a..6c5b8063 100644 --- a/src/include/units/physical/si/frequency.h +++ b/src/include/units/physical/si/bits/derived/frequency.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 -#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/heat_capacity.h b/src/include/units/physical/si/bits/derived/heat_capacity.h similarity index 90% rename from src/include/units/physical/si/heat_capacity.h rename to src/include/units/physical/si/bits/derived/heat_capacity.h index 880a3b71..12b49b51 100644 --- a/src/include/units/physical/si/heat_capacity.h +++ b/src/include/units/physical/si/bits/derived/heat_capacity.h @@ -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 -#include -#include -#include -#include +#include +#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/inductance.h b/src/include/units/physical/si/bits/derived/inductance.h similarity index 95% rename from src/include/units/physical/si/inductance.h rename to src/include/units/physical/si/bits/derived/inductance.h index f14c3798..f14628c5 100644 --- a/src/include/units/physical/si/inductance.h +++ b/src/include/units/physical/si/bits/derived/inductance.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/luminance.h b/src/include/units/physical/si/bits/derived/luminance.h similarity index 87% rename from src/include/units/physical/si/luminance.h rename to src/include/units/physical/si/bits/derived/luminance.h index 0c49866c..f5939723 100644 --- a/src/include/units/physical/si/luminance.h +++ b/src/include/units/physical/si/bits/derived/luminance.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/magnetic_flux.h b/src/include/units/physical/si/bits/derived/magnetic_flux.h similarity index 95% rename from src/include/units/physical/si/magnetic_flux.h rename to src/include/units/physical/si/bits/derived/magnetic_flux.h index b1e097cb..23bcdf1d 100644 --- a/src/include/units/physical/si/magnetic_flux.h +++ b/src/include/units/physical/si/bits/derived/magnetic_flux.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/magnetic_induction.h b/src/include/units/physical/si/bits/derived/magnetic_induction.h similarity index 95% rename from src/include/units/physical/si/magnetic_induction.h rename to src/include/units/physical/si/bits/derived/magnetic_induction.h index 7cfd15fe..2ca02587 100644 --- a/src/include/units/physical/si/magnetic_induction.h +++ b/src/include/units/physical/si/bits/derived/magnetic_induction.h @@ -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 -#include -#include -#include +#include +#include +#include #include #include diff --git a/src/include/units/physical/si/molar_energy.h b/src/include/units/physical/si/bits/derived/molar_energy.h similarity index 88% rename from src/include/units/physical/si/molar_energy.h rename to src/include/units/physical/si/bits/derived/molar_energy.h index 3a3d8cd4..3909a66d 100644 --- a/src/include/units/physical/si/molar_energy.h +++ b/src/include/units/physical/si/bits/derived/molar_energy.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/momentum.h b/src/include/units/physical/si/bits/derived/momentum.h similarity index 88% rename from src/include/units/physical/si/momentum.h rename to src/include/units/physical/si/bits/derived/momentum.h index b311ef60..9313dafa 100644 --- a/src/include/units/physical/si/momentum.h +++ b/src/include/units/physical/si/bits/derived/momentum.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/permeability.h b/src/include/units/physical/si/bits/derived/permeability.h similarity index 89% rename from src/include/units/physical/si/permeability.h rename to src/include/units/physical/si/bits/derived/permeability.h index defc7715..08a6a8c6 100644 --- a/src/include/units/physical/si/permeability.h +++ b/src/include/units/physical/si/bits/derived/permeability.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/permittivity.h b/src/include/units/physical/si/bits/derived/permittivity.h similarity index 89% rename from src/include/units/physical/si/permittivity.h rename to src/include/units/physical/si/bits/derived/permittivity.h index 3d3a3239..0b2e1cbb 100644 --- a/src/include/units/physical/si/permittivity.h +++ b/src/include/units/physical/si/bits/derived/permittivity.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/power.h b/src/include/units/physical/si/bits/derived/power.h similarity index 96% rename from src/include/units/physical/si/power.h rename to src/include/units/physical/si/bits/derived/power.h index def6ae9b..8d440497 100644 --- a/src/include/units/physical/si/power.h +++ b/src/include/units/physical/si/bits/derived/power.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/pressure.h b/src/include/units/physical/si/bits/derived/pressure.h similarity index 96% rename from src/include/units/physical/si/pressure.h rename to src/include/units/physical/si/bits/derived/pressure.h index a20d64c2..adc0bd03 100644 --- a/src/include/units/physical/si/pressure.h +++ b/src/include/units/physical/si/bits/derived/pressure.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/resistance.h b/src/include/units/physical/si/bits/derived/resistance.h similarity index 95% rename from src/include/units/physical/si/resistance.h rename to src/include/units/physical/si/bits/derived/resistance.h index e857a845..f25c4d70 100644 --- a/src/include/units/physical/si/resistance.h +++ b/src/include/units/physical/si/bits/derived/resistance.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/speed.h b/src/include/units/physical/si/bits/derived/speed.h similarity index 89% rename from src/include/units/physical/si/speed.h rename to src/include/units/physical/si/bits/derived/speed.h index d05af1bf..b31e0028 100644 --- a/src/include/units/physical/si/speed.h +++ b/src/include/units/physical/si/bits/derived/speed.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/surface_tension.h b/src/include/units/physical/si/bits/derived/surface_tension.h similarity index 89% rename from src/include/units/physical/si/surface_tension.h rename to src/include/units/physical/si/bits/derived/surface_tension.h index 1b20f461..2c117cfc 100644 --- a/src/include/units/physical/si/surface_tension.h +++ b/src/include/units/physical/si/bits/derived/surface_tension.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 -#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/thermal_conductivity.h b/src/include/units/physical/si/bits/derived/thermal_conductivity.h similarity index 88% rename from src/include/units/physical/si/thermal_conductivity.h rename to src/include/units/physical/si/bits/derived/thermal_conductivity.h index 8b20b744..3a85ab86 100644 --- a/src/include/units/physical/si/thermal_conductivity.h +++ b/src/include/units/physical/si/bits/derived/thermal_conductivity.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 -#include -#include +#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/torque.h b/src/include/units/physical/si/bits/derived/torque.h similarity index 86% rename from src/include/units/physical/si/torque.h rename to src/include/units/physical/si/bits/derived/torque.h index 1792889a..e6c267d3 100644 --- a/src/include/units/physical/si/torque.h +++ b/src/include/units/physical/si/bits/derived/torque.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 -#include -#include +#include +#include #include #include @@ -32,7 +38,7 @@ namespace units::physical::si { struct newton_metre : named_unit {}; -struct dim_torque : physical::dim_torque {}; +struct dim_torque : physical::dim_torque> {}; template using torque = quantity; diff --git a/src/include/units/physical/si/voltage.h b/src/include/units/physical/si/bits/derived/voltage.h similarity index 96% rename from src/include/units/physical/si/voltage.h rename to src/include/units/physical/si/bits/derived/voltage.h index 3d6eba9a..2c717ab3 100644 --- a/src/include/units/physical/si/voltage.h +++ b/src/include/units/physical/si/bits/derived/voltage.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/volume.h b/src/include/units/physical/si/bits/derived/volume.h similarity index 98% rename from src/include/units/physical/si/volume.h rename to src/include/units/physical/si/bits/derived/volume.h index 7490a56b..60adf264 100644 --- a/src/include/units/physical/si/volume.h +++ b/src/include/units/physical/si/bits/derived/volume.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 -#include +#include #include namespace units::physical::si { diff --git a/src/include/units/physical/si/cgs/length.h b/src/include/units/physical/si/cgs/base/length.h similarity index 97% rename from src/include/units/physical/si/cgs/length.h rename to src/include/units/physical/si/cgs/base/length.h index 9a1d7870..0eca93d7 100644 --- a/src/include/units/physical/si/cgs/length.h +++ b/src/include/units/physical/si/cgs/base/length.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #include namespace units::physical::si::cgs { diff --git a/src/include/units/physical/si/cgs/mass.h b/src/include/units/physical/si/cgs/base/mass.h similarity index 97% rename from src/include/units/physical/si/cgs/mass.h rename to src/include/units/physical/si/cgs/base/mass.h index 322276a1..22b51fa2 100644 --- a/src/include/units/physical/si/cgs/mass.h +++ b/src/include/units/physical/si/cgs/base/mass.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #include namespace units::physical::si::cgs { diff --git a/src/include/units/physical/si/cgs/time.h b/src/include/units/physical/si/cgs/base/time.h similarity index 97% rename from src/include/units/physical/si/cgs/time.h rename to src/include/units/physical/si/cgs/base/time.h index 439074d1..40a1900d 100644 --- a/src/include/units/physical/si/cgs/time.h +++ b/src/include/units/physical/si/cgs/base/time.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #include namespace units::physical::si::cgs { diff --git a/src/include/units/physical/si/cgs/acceleration.h b/src/include/units/physical/si/cgs/bits/derived/acceleration.h similarity index 89% rename from src/include/units/physical/si/cgs/acceleration.h rename to src/include/units/physical/si/cgs/bits/derived/acceleration.h index 05824ace..e969a273 100644 --- a/src/include/units/physical/si/cgs/acceleration.h +++ b/src/include/units/physical/si/cgs/bits/derived/acceleration.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 -#include +#include #include namespace units::physical::si::cgs { diff --git a/src/include/units/physical/si/cgs/area.h b/src/include/units/physical/si/cgs/bits/derived/area.h similarity index 87% rename from src/include/units/physical/si/cgs/area.h rename to src/include/units/physical/si/cgs/bits/derived/area.h index 02da75be..ef6e35b3 100644 --- a/src/include/units/physical/si/cgs/area.h +++ b/src/include/units/physical/si/cgs/bits/derived/area.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 -#include -#include +#include +#include #include namespace units::physical::si::cgs { diff --git a/src/include/units/physical/si/cgs/energy.h b/src/include/units/physical/si/cgs/bits/derived/energy.h similarity index 89% rename from src/include/units/physical/si/cgs/energy.h rename to src/include/units/physical/si/cgs/bits/derived/energy.h index adcb2b87..e556509f 100644 --- a/src/include/units/physical/si/cgs/energy.h +++ b/src/include/units/physical/si/cgs/bits/derived/energy.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/cgs/force.h b/src/include/units/physical/si/cgs/bits/derived/force.h similarity index 86% rename from src/include/units/physical/si/cgs/force.h rename to src/include/units/physical/si/cgs/bits/derived/force.h index 947f68ba..df2b605e 100644 --- a/src/include/units/physical/si/cgs/force.h +++ b/src/include/units/physical/si/cgs/bits/derived/force.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/cgs/power.h b/src/include/units/physical/si/cgs/bits/derived/power.h similarity index 89% rename from src/include/units/physical/si/cgs/power.h rename to src/include/units/physical/si/cgs/bits/derived/power.h index cec6f445..b987d564 100644 --- a/src/include/units/physical/si/cgs/power.h +++ b/src/include/units/physical/si/cgs/bits/derived/power.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/cgs/pressure.h b/src/include/units/physical/si/cgs/bits/derived/pressure.h similarity index 86% rename from src/include/units/physical/si/cgs/pressure.h rename to src/include/units/physical/si/cgs/bits/derived/pressure.h index 899b3429..32a8a54c 100644 --- a/src/include/units/physical/si/cgs/pressure.h +++ b/src/include/units/physical/si/cgs/bits/derived/pressure.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/cgs/speed.h b/src/include/units/physical/si/cgs/bits/derived/speed.h similarity index 87% rename from src/include/units/physical/si/cgs/speed.h rename to src/include/units/physical/si/cgs/bits/derived/speed.h index 39a09758..96811c29 100644 --- a/src/include/units/physical/si/cgs/speed.h +++ b/src/include/units/physical/si/cgs/bits/derived/speed.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 -#include -#include +#include +#include #include namespace units::physical::si::cgs { diff --git a/src/include/units/physical/si/cgs/cgs.h b/src/include/units/physical/si/cgs/cgs.h new file mode 100644 index 00000000..4a4b9eb1 --- /dev/null +++ b/src/include/units/physical/si/cgs/cgs.h @@ -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 +#include +#include + +#include +#include +#include +#include +#include +#include +#include diff --git a/src/include/units/physical/si/constants.h b/src/include/units/physical/si/constants.h index ad519ce0..fcf9d7fc 100644 --- a/src/include/units/physical/si/constants.h +++ b/src/include/units/physical/si/constants.h @@ -22,13 +22,7 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include +#include namespace units::physical::si::si2019 { diff --git a/src/include/units/physical/si/fps/length.h b/src/include/units/physical/si/fps/base/length.h similarity index 98% rename from src/include/units/physical/si/fps/length.h rename to src/include/units/physical/si/fps/base/length.h index 551fecaf..d0d8174b 100644 --- a/src/include/units/physical/si/fps/length.h +++ b/src/include/units/physical/si/fps/base/length.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #include namespace units::physical::si::fps { diff --git a/src/include/units/physical/si/fps/mass.h b/src/include/units/physical/si/fps/base/mass.h similarity index 99% rename from src/include/units/physical/si/fps/mass.h rename to src/include/units/physical/si/fps/base/mass.h index 24dfe6be..711efd15 100644 --- a/src/include/units/physical/si/fps/mass.h +++ b/src/include/units/physical/si/fps/base/mass.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #include namespace units::physical::si::fps { diff --git a/src/include/units/physical/si/fps/time.h b/src/include/units/physical/si/fps/base/time.h similarity index 97% rename from src/include/units/physical/si/fps/time.h rename to src/include/units/physical/si/fps/base/time.h index 5e5e3f94..04c258d3 100644 --- a/src/include/units/physical/si/fps/time.h +++ b/src/include/units/physical/si/fps/base/time.h @@ -23,7 +23,7 @@ #pragma once #include -#include +#include #include namespace units::physical::si::fps { diff --git a/src/include/units/physical/si/fps/base_quantities.h b/src/include/units/physical/si/fps/base_quantities.h new file mode 100644 index 00000000..cb7089af --- /dev/null +++ b/src/include/units/physical/si/fps/base_quantities.h @@ -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 +#include +#include diff --git a/src/include/units/physical/si/fps/acceleration.h b/src/include/units/physical/si/fps/bits/derived/acceleration.h similarity index 89% rename from src/include/units/physical/si/fps/acceleration.h rename to src/include/units/physical/si/fps/bits/derived/acceleration.h index 5bee6378..62fbe038 100644 --- a/src/include/units/physical/si/fps/acceleration.h +++ b/src/include/units/physical/si/fps/bits/derived/acceleration.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 -#include +#include #include namespace units::physical::si::fps { diff --git a/src/include/units/physical/si/fps/area.h b/src/include/units/physical/si/fps/bits/derived/area.h similarity index 88% rename from src/include/units/physical/si/fps/area.h rename to src/include/units/physical/si/fps/bits/derived/area.h index f85e2610..c564a511 100644 --- a/src/include/units/physical/si/fps/area.h +++ b/src/include/units/physical/si/fps/bits/derived/area.h @@ -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 -#include -// #include +#include #include namespace units::physical::si::fps { diff --git a/src/include/units/physical/si/fps/density.h b/src/include/units/physical/si/fps/bits/derived/density.h similarity index 87% rename from src/include/units/physical/si/fps/density.h rename to src/include/units/physical/si/fps/bits/derived/density.h index 90e1a77e..13e351d6 100644 --- a/src/include/units/physical/si/fps/density.h +++ b/src/include/units/physical/si/fps/bits/derived/density.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 -#include -#include +#include +#include #include namespace units::physical::si::fps { diff --git a/src/include/units/physical/si/fps/energy.h b/src/include/units/physical/si/fps/bits/derived/energy.h similarity index 91% rename from src/include/units/physical/si/fps/energy.h rename to src/include/units/physical/si/fps/bits/derived/energy.h index 2b27bf75..9c24cf72 100644 --- a/src/include/units/physical/si/fps/energy.h +++ b/src/include/units/physical/si/fps/bits/derived/energy.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/fps/force.h b/src/include/units/physical/si/fps/bits/derived/force.h similarity index 90% rename from src/include/units/physical/si/fps/force.h rename to src/include/units/physical/si/fps/bits/derived/force.h index 5168d081..c001edbd 100644 --- a/src/include/units/physical/si/fps/force.h +++ b/src/include/units/physical/si/fps/bits/derived/force.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/fps/power.h b/src/include/units/physical/si/fps/bits/derived/power.h similarity index 92% rename from src/include/units/physical/si/fps/power.h rename to src/include/units/physical/si/fps/bits/derived/power.h index d8cd9a94..a27e84b7 100644 --- a/src/include/units/physical/si/fps/power.h +++ b/src/include/units/physical/si/fps/bits/derived/power.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 -#include +#include #include #include diff --git a/src/include/units/physical/si/fps/pressure.h b/src/include/units/physical/si/fps/bits/derived/pressure.h similarity index 91% rename from src/include/units/physical/si/fps/pressure.h rename to src/include/units/physical/si/fps/bits/derived/pressure.h index 3376ee02..919560db 100644 --- a/src/include/units/physical/si/fps/pressure.h +++ b/src/include/units/physical/si/fps/bits/derived/pressure.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 -#include -#include +#include +#include #include #include diff --git a/src/include/units/physical/si/fps/speed.h b/src/include/units/physical/si/fps/bits/derived/speed.h similarity index 90% rename from src/include/units/physical/si/fps/speed.h rename to src/include/units/physical/si/fps/bits/derived/speed.h index 57a1ba98..7b1f5f34 100644 --- a/src/include/units/physical/si/fps/speed.h +++ b/src/include/units/physical/si/fps/bits/derived/speed.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 -#include -#include +#include +#include #include namespace units::physical::si::fps { diff --git a/src/include/units/physical/si/fps/volume.h b/src/include/units/physical/si/fps/bits/derived/volume.h similarity index 90% rename from src/include/units/physical/si/fps/volume.h rename to src/include/units/physical/si/fps/bits/derived/volume.h index 37c03175..bccc76d9 100644 --- a/src/include/units/physical/si/fps/volume.h +++ b/src/include/units/physical/si/fps/bits/derived/volume.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 -#include +#include #include namespace units::physical::si::fps { diff --git a/src/include/units/physical/si/fps/fps.h b/src/include/units/physical/si/fps/fps.h new file mode 100644 index 00000000..49c30dfe --- /dev/null +++ b/src/include/units/physical/si/fps/fps.h @@ -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 +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include diff --git a/src/include/units/physical/si/iau/length.h b/src/include/units/physical/si/iau/base/length.h similarity index 98% rename from src/include/units/physical/si/iau/length.h rename to src/include/units/physical/si/iau/base/length.h index 74764eba..863af4cb 100644 --- a/src/include/units/physical/si/iau/length.h +++ b/src/include/units/physical/si/iau/base/length.h @@ -23,7 +23,7 @@ #pragma once -#include +#include namespace units::physical::si::iau { diff --git a/src/include/units/physical/si/iau/iau.h b/src/include/units/physical/si/iau/iau.h new file mode 100644 index 00000000..38410d3f --- /dev/null +++ b/src/include/units/physical/si/iau/iau.h @@ -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 diff --git a/src/include/units/physical/si/imperial/length.h b/src/include/units/physical/si/imperial/base/length.h similarity index 97% rename from src/include/units/physical/si/imperial/length.h rename to src/include/units/physical/si/imperial/base/length.h index 63c2ff9f..fa9c1591 100644 --- a/src/include/units/physical/si/imperial/length.h +++ b/src/include/units/physical/si/imperial/base/length.h @@ -22,7 +22,7 @@ #pragma once -#include +#include namespace units::physical::si::imperial { diff --git a/src/include/units/physical/si/imperial/imperial.h b/src/include/units/physical/si/imperial/imperial.h new file mode 100644 index 00000000..38b6cbaf --- /dev/null +++ b/src/include/units/physical/si/imperial/imperial.h @@ -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 diff --git a/src/include/units/physical/si/international/length.h b/src/include/units/physical/si/international/base/length.h similarity index 98% rename from src/include/units/physical/si/international/length.h rename to src/include/units/physical/si/international/base/length.h index c5adecf6..62d9aab5 100644 --- a/src/include/units/physical/si/international/length.h +++ b/src/include/units/physical/si/international/base/length.h @@ -23,7 +23,7 @@ #pragma once -#include +#include namespace units::physical::si::international { diff --git a/src/include/units/physical/si/international/area.h b/src/include/units/physical/si/international/bits/derived/area.h similarity index 84% rename from src/include/units/physical/si/international/area.h rename to src/include/units/physical/si/international/bits/derived/area.h index 23101620..d7828604 100644 --- a/src/include/units/physical/si/international/area.h +++ b/src/include/units/physical/si/international/bits/derived/area.h @@ -22,8 +22,14 @@ #pragma once -#include -#include +#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 +#include namespace units::physical::si::international { diff --git a/src/include/units/physical/si/international/speed.h b/src/include/units/physical/si/international/bits/derived/speed.h similarity index 84% rename from src/include/units/physical/si/international/speed.h rename to src/include/units/physical/si/international/bits/derived/speed.h index 81540b49..3271b99c 100644 --- a/src/include/units/physical/si/international/speed.h +++ b/src/include/units/physical/si/international/bits/derived/speed.h @@ -22,8 +22,14 @@ #pragma once -#include -#include +#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 +#include namespace units::physical::si::international { diff --git a/src/include/units/physical/si/international/volume.h b/src/include/units/physical/si/international/bits/derived/volume.h similarity index 84% rename from src/include/units/physical/si/international/volume.h rename to src/include/units/physical/si/international/bits/derived/volume.h index 74b5a73c..7c855cf8 100644 --- a/src/include/units/physical/si/international/volume.h +++ b/src/include/units/physical/si/international/bits/derived/volume.h @@ -22,8 +22,14 @@ #pragma once -#include -#include +#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 +#include namespace units::physical::si::international { diff --git a/src/include/units/physical/si/international/international.h b/src/include/units/physical/si/international/international.h new file mode 100644 index 00000000..5d749f33 --- /dev/null +++ b/src/include/units/physical/si/international/international.h @@ -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 + +#include +#include +#include diff --git a/src/include/units/physical/si/si.h b/src/include/units/physical/si/si.h new file mode 100644 index 00000000..29d51072 --- /dev/null +++ b/src/include/units/physical/si/si.h @@ -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 +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include diff --git a/src/include/units/physical/si/typographic/length.h b/src/include/units/physical/si/typographic/base/length.h similarity index 98% rename from src/include/units/physical/si/typographic/length.h rename to src/include/units/physical/si/typographic/base/length.h index 7addaef3..bea192c1 100644 --- a/src/include/units/physical/si/typographic/length.h +++ b/src/include/units/physical/si/typographic/base/length.h @@ -23,7 +23,7 @@ #pragma once -#include +#include namespace units::physical::si::typographic { diff --git a/src/include/units/physical/si/typographic/typographic.h b/src/include/units/physical/si/typographic/typographic.h new file mode 100644 index 00000000..2134b2ac --- /dev/null +++ b/src/include/units/physical/si/typographic/typographic.h @@ -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 diff --git a/src/include/units/physical/si/us/length.h b/src/include/units/physical/si/us/base/length.h similarity index 98% rename from src/include/units/physical/si/us/length.h rename to src/include/units/physical/si/us/base/length.h index e9ab5086..a3a70bcd 100644 --- a/src/include/units/physical/si/us/length.h +++ b/src/include/units/physical/si/us/base/length.h @@ -22,7 +22,7 @@ #pragma once -#include +#include namespace units::physical::si::us { diff --git a/src/include/units/physical/si/us/us.h b/src/include/units/physical/si/us/us.h new file mode 100644 index 00000000..8df8166f --- /dev/null +++ b/src/include/units/physical/si/us/us.h @@ -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 diff --git a/src/include/units/quantity.h b/src/include/units/quantity.h index 10abe1c1..32dd333c 100644 --- a/src/include/units/quantity.h +++ b/src/include/units/quantity.h @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/test/unit_test/runtime/digital_info_test.cpp b/test/unit_test/runtime/digital_info_test.cpp index f043e1b6..beea87f7 100644 --- a/test/unit_test/runtime/digital_info_test.cpp +++ b/test/unit_test/runtime/digital_info_test.cpp @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include #include #include diff --git a/test/unit_test/runtime/distribution_test.cpp b/test/unit_test/runtime/distribution_test.cpp index c391f76c..850b00ed 100644 --- a/test/unit_test/runtime/distribution_test.cpp +++ b/test/unit_test/runtime/distribution_test.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include using namespace units; diff --git a/test/unit_test/runtime/fmt_test.cpp b/test/unit_test/runtime/fmt_test.cpp index e29a29a3..ff36fad5 100644 --- a/test/unit_test/runtime/fmt_test.cpp +++ b/test/unit_test/runtime/fmt_test.cpp @@ -22,16 +22,8 @@ #include "units/format.h" #include "units/math.h" -#include "units/physical/si/area.h" -#include "units/physical/si/cgs/length.h" -#include "units/physical/si/cgs/mass.h" -#include "units/physical/si/frequency.h" -#include "units/physical/si/power.h" -#include "units/physical/si/pressure.h" -#include "units/physical/si/resistance.h" -#include "units/physical/si/speed.h" -#include "units/physical/si/surface_tension.h" -#include "units/physical/si/volume.h" +#include "units/physical/si/si.h" +#include "units/physical/si/cgs/cgs.h" #include #include #include diff --git a/test/unit_test/runtime/fmt_units_test.cpp b/test/unit_test/runtime/fmt_units_test.cpp index 010c496b..5c2fee14 100644 --- a/test/unit_test/runtime/fmt_units_test.cpp +++ b/test/unit_test/runtime/fmt_units_test.cpp @@ -21,15 +21,12 @@ // SOFTWARE. #include "units/format.h" -#include "units/physical/si.h" -#include "units/physical/si/iau/length.h" -#include "units/physical/si/imperial/length.h" -#include "units/physical/si/international/area.h" -#include "units/physical/si/international/length.h" -#include "units/physical/si/international/speed.h" -#include "units/physical/si/international/volume.h" -#include "units/physical/si/typographic/length.h" -#include "units/physical/si/us/length.h" +#include "units/physical/si/si.h" +#include "units/physical/si/iau/iau.h" +#include "units/physical/si/imperial/imperial.h" +#include "units/physical/si/international/international.h" +#include "units/physical/si/typographic/typographic.h" +#include "units/physical/si/us/us.h" #include using namespace units::physical::si; diff --git a/test/unit_test/runtime/math_test.cpp b/test/unit_test/runtime/math_test.cpp index 1b73f46a..bc75d2fc 100644 --- a/test/unit_test/runtime/math_test.cpp +++ b/test/unit_test/runtime/math_test.cpp @@ -21,8 +21,7 @@ // SOFTWARE. #include "units/math.h" -#include "units/physical/si/area.h" -#include "units/physical/si/volume.h" +#include "units/physical/si/si.h" #include using namespace units; diff --git a/test/unit_test/static/cgs_test.cpp b/test/unit_test/static/cgs_test.cpp index 5d775349..86341c71 100644 --- a/test/unit_test/static/cgs_test.cpp +++ b/test/unit_test/static/cgs_test.cpp @@ -20,15 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include namespace { diff --git a/test/unit_test/static/custom_rep_min_req_test.cpp b/test/unit_test/static/custom_rep_min_req_test.cpp index 37a38e69..09baabc9 100644 --- a/test/unit_test/static/custom_rep_min_req_test.cpp +++ b/test/unit_test/static/custom_rep_min_req_test.cpp @@ -21,9 +21,7 @@ // SOFTWARE. #include "units/math.h" -#include "units/physical/si/area.h" -#include "units/physical/si/frequency.h" -#include "units/physical/si/speed.h" +#include "units/physical/si/si.h" #include #include #include diff --git a/test/unit_test/static/custom_unit_test.cpp b/test/unit_test/static/custom_unit_test.cpp index 327b3d85..e8b35f8e 100644 --- a/test/unit_test/static/custom_unit_test.cpp +++ b/test/unit_test/static/custom_unit_test.cpp @@ -21,10 +21,7 @@ // SOFTWARE. #include "test_tools.h" -#include -#include -#include -#include +#include #include namespace { diff --git a/test/unit_test/static/data_test.cpp b/test/unit_test/static/data_test.cpp index c7d31751..45ba9bed 100644 --- a/test/unit_test/static/data_test.cpp +++ b/test/unit_test/static/data_test.cpp @@ -20,8 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include +#include /* ************** DERIVED DIMENSIONS THAT INCLUDE UNITS WITH SPECIAL NAMES **************** */ diff --git a/test/unit_test/static/dimensions_concepts_test.cpp b/test/unit_test/static/dimensions_concepts_test.cpp index 6b29be1d..3906ace7 100644 --- a/test/unit_test/static/dimensions_concepts_test.cpp +++ b/test/unit_test/static/dimensions_concepts_test.cpp @@ -21,7 +21,7 @@ // SOFTWARE. -#include +#include namespace { diff --git a/test/unit_test/static/fps_test.cpp b/test/unit_test/static/fps_test.cpp index ce73a6cd..3e57ec71 100644 --- a/test/unit_test/static/fps_test.cpp +++ b/test/unit_test/static/fps_test.cpp @@ -20,15 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include namespace { diff --git a/test/unit_test/static/math_test.cpp b/test/unit_test/static/math_test.cpp index d9e0fec3..c2632e88 100644 --- a/test/unit_test/static/math_test.cpp +++ b/test/unit_test/static/math_test.cpp @@ -22,9 +22,8 @@ #include "units/math.h" #include "test_tools.h" -#include "units/physical/si/area.h" -#include "units/physical/si/international/area.h" -#include "units/physical/si/speed.h" +#include "units/physical/si/si.h" +#include "units/physical/si/international/international.h" namespace { diff --git a/test/unit_test/static/quantity_point_test.cpp b/test/unit_test/static/quantity_point_test.cpp index 6ce7b6fd..937db26a 100644 --- a/test/unit_test/static/quantity_point_test.cpp +++ b/test/unit_test/static/quantity_point_test.cpp @@ -23,11 +23,8 @@ #include "units/quantity_point.h" #include "test_tools.h" #include "units/math.h" -#include "units/physical/si/area.h" -#include "units/physical/si/frequency.h" -#include "units/physical/si/speed.h" -#include "units/physical/si/us/length.h" -#include "units/physical/si/volume.h" +#include "units/physical/si/si.h" +#include "units/physical/si/us/us.h" #include #include diff --git a/test/unit_test/static/quantity_test.cpp b/test/unit_test/static/quantity_test.cpp index 20fa80ca..85af6f2c 100644 --- a/test/unit_test/static/quantity_test.cpp +++ b/test/unit_test/static/quantity_test.cpp @@ -22,11 +22,8 @@ #include "test_tools.h" #include "units/math.h" -#include "units/physical/si/area.h" -#include "units/physical/si/frequency.h" -#include "units/physical/si/speed.h" -#include "units/physical/si/us/length.h" -#include "units/physical/si/volume.h" +#include "units/physical/si/si.h" +#include "units/physical/si/us/us.h" #include #include diff --git a/test/unit_test/static/si_cgs_test.cpp b/test/unit_test/static/si_cgs_test.cpp index b6729927..36e868e7 100644 --- a/test/unit_test/static/si_cgs_test.cpp +++ b/test/unit_test/static/si_cgs_test.cpp @@ -20,26 +20,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include namespace { diff --git a/test/unit_test/static/si_fps_test.cpp b/test/unit_test/static/si_fps_test.cpp index d0c2b387..ce36a7a5 100644 --- a/test/unit_test/static/si_fps_test.cpp +++ b/test/unit_test/static/si_fps_test.cpp @@ -20,26 +20,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include namespace { diff --git a/test/unit_test/static/si_test.cpp b/test/unit_test/static/si_test.cpp index 0d0fb1c5..c0690e89 100644 --- a/test/unit_test/static/si_test.cpp +++ b/test/unit_test/static/si_test.cpp @@ -20,7 +20,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include +#include #include namespace { diff --git a/test/unit_test/static/us_test.cpp b/test/unit_test/static/us_test.cpp index 2bbc6854..884e8b04 100644 --- a/test/unit_test/static/us_test.cpp +++ b/test/unit_test/static/us_test.cpp @@ -20,15 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include #include namespace {