refactor: quantity cration helpers are not opt-out rather than opt-in

Resolves #277
This commit is contained in:
Mateusz Pusz
2021-05-09 15:52:20 +02:00
parent c1cf800bd1
commit 2c8c6c2e98
99 changed files with 500 additions and 517 deletions

View File

@ -28,8 +28,6 @@ analysis and unit/quantity manipulation. The basic idea and design heavily bases
Here is a small example of possible operations:
```cpp
#define UNITS_REFERENCES
#include <units/isq/si/area.h>
#include <units/isq/si/frequency.h>
#include <units/isq/si/length.h>
@ -58,7 +56,7 @@ static_assert(10 * km / (5 * km) == 2);
static_assert(1000 / (1 * s) == 1 * kHz);
```
_Try it on the [Compiler Explorer](https://godbolt.org/z/53bTahKd8)._
_Try it on the [Compiler Explorer](https://godbolt.org/z/5dvY8Woh1)._
This library requires some C++20 features (concepts, classes as NTTPs, ...). Thanks to
them the user gets a powerful but still easy to use interface and all unit conversions
@ -66,10 +64,6 @@ and dimensional analysis can be performed without sacrificing on accuracy. Pleas
the below example for a quick preview of basic library features:
```cpp
#define UNITS_ALIASES
#define UNITS_LITERALS
#define UNITS_REFERENCES
#include <units/format.h>
#include <units/isq/si/international/length.h>
#include <units/isq/si/international/speed.h>
@ -115,4 +109,4 @@ int main()
}
```
_Try it on the [Compiler Explorer](https://godbolt.org/z/jKnPPPEx6)._
_Try it on the [Compiler Explorer](https://godbolt.org/z/9fnzfbhb6)._

View File

@ -6,7 +6,6 @@
- (!) refactor: Refactored the library file tree
- (!) refactor: `quantity::count()` renamed to `quantity::number()`
- (!) refactor: `data` system renamed to `isq::iec80000` (quantity names renamed too)
- (!) refactor: quantity UDLs support has to be enabled with `UNITS_LITERALS` preprocessor define
- refactor: quantity (kind) point updated to reflect latest changes to `quantity`
- refactor: basic concepts, `quantity` and `quantity_cast` refactored
- refactor: `abs()` definition refactored to be more explicit about the return type
@ -17,6 +16,7 @@
- feat: CTAD for dimensionless quantity added
- feat: `modulation_rate` support added (thanks [@go2sh](https://github.com/go2sh))
- feat: SI prefixes for `isq::iec80000` support added (thanks [@go2sh](https://github.com/go2sh))
- feat: a possibility to disable quantity UDLs support with `UNITS_NO_LITERALS` preprocessor define
- perf: preconditions check do not influence the runtime performance of a Release build
- perf: `quantity_cast()` generates less assembly instructions
- perf: temporary string creation removed from `quantity::op<<()`

View File

@ -91,15 +91,3 @@ WARN_AS_ERROR = NO
# The default value is: NO.
QUIET = YES
# The PREDEFINED tag can be used to specify one or more macro names that are
# defined before the preprocessor is started (similar to the -D option of e.g.
# gcc). The argument of the tag is a list of macros of the form: name or
# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
# is assumed. To prevent a macro definition from being undefined via #undef or
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED = UNITS_REFERENCES \
UNITS_LITERALS \
UNITS_ALIASES

View File

@ -70,7 +70,7 @@ Unit-Specific Aliases (Experimental)
Additionally to the dimension-specific aliases there are also ones provided for
each and every :term:`unit` in the library::
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline length {
@ -86,7 +86,7 @@ each and every :term:`unit` in the library::
}
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES
Using the above our code can look as follows::
@ -116,7 +116,7 @@ Quantity References (Experimental)
Quantity References provide an alternative and simplified way to create quantities.
They are defined using the `reference` class template::
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -131,7 +131,7 @@ They are defined using the `reference` class template::
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
With the above our code can look as follows::
@ -157,7 +157,7 @@ User Defined Literals (Experimental)
Alternatively, to construct quantities with compile-time known values the library provides
:abbr:`UDL (User Defined Literal)` s for each :term:`unit` of every :term:`dimension`::
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -169,7 +169,7 @@ Alternatively, to construct quantities with compile-time known values the librar
}
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
Thanks to them the same code can be as simple as::
@ -185,13 +185,6 @@ Thanks to them the same code can be as simple as::
language (i.e. ``F`` (farad), ``J`` (joule), ``W`` (watt), ``K`` (kelvin),
``d`` (day), ``l`` or ``L`` (litre), ``erg``, ``ergps``). This is why the
``_q_`` prefix was consistently applied to all the UDLs.
.. important::
As one can read in the next section UDLs, are considered to be inferior to `Quantity References`_
and their definition affects compile-time performance a lot. This is why they are an opt-in feature
of the library and in order to use them one has to provide a `UNITS_LITERALS` preprocessor definition.
UDLs vs Quantity References
+++++++++++++++++++++++++++
@ -473,6 +466,19 @@ Summary
+-----------------------------------------------+-------------+------------+---------------+
Don't pay for what you don't use (compile-time performance)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
As noted in the previous chapter, each quantity creation helper has a different impact on the compile-time
performance. Aliases tend to be the fastest to compile but even their definition can be expensive for some
if it is not used in the source code. This is why it is possible to opt-out from each or every quantity
creation helper with the following preprocessor defines::
#define UNITS_NO_ALIASES
#define UNITS_NO_REFERENCES
#define UNITS_NO_LITERALS
Dimension-specific Concepts
---------------------------

View File

@ -3,8 +3,6 @@ Quick Start
Here is a small example of possible operations::
#define UNITS_REFERENCES
#include <units/isq/si/area.h>
#include <units/isq/si/frequency.h>
#include <units/isq/si/length.h>
@ -34,7 +32,7 @@ Here is a small example of possible operations::
.. admonition:: Try it on Compiler Explorer
`Example #1 <https://godbolt.org/z/53bTahKd8>`_
`Example #1 <https://godbolt.org/z/5dvY8Woh1>`_
This library requires some C++20 features (concepts, classes as
:abbr:`NTTP (Non-Type Template Parameter)`, ...). Thanks to them the user gets a powerful
@ -42,10 +40,6 @@ but still easy to use interface where all unit conversions and dimensional analy
performed without sacrificing on accuracy. Please see the below example for a quick preview
of basic library features::
#define UNITS_ALIASES
#define UNITS_LITERALS
#define UNITS_REFERENCES
#include <units/format.h>
#include <units/isq/si/international/length.h>
#include <units/isq/si/international/speed.h>
@ -92,7 +86,7 @@ of basic library features::
.. admonition:: Try it on Compiler Explorer
`Example #2 <https://godbolt.org/z/jKnPPPEx6>`_
`Example #2 <https://godbolt.org/z/9fnzfbhb6>`_
.. seealso::

View File

@ -28,7 +28,10 @@ cmake_minimum_required(VERSION 3.2)
function(add_example target)
add_executable(${target}-aliases ${target}.cpp)
target_link_libraries(${target}-aliases PRIVATE ${ARGN})
target_compile_definitions(${target}-aliases PRIVATE UNITS_ALIASES)
target_compile_definitions(${target}-aliases PRIVATE
UNITS_NO_LITERALS
UNITS_NO_REFERENCES
)
endfunction()
add_example(avg_speed mp-units::core-io mp-units::si mp-units::si-cgs mp-units::si-international)
@ -43,7 +46,10 @@ add_example(unknown_dimension mp-units::core-io mp-units::si)
if(NOT UNITS_LIBCXX)
add_example(glide_computer_example mp-units::core-fmt mp-units::si-international glide_computer)
target_compile_definitions(glide_computer_example-aliases PRIVATE UNITS_REFERENCES)
target_compile_definitions(glide_computer_example-aliases PRIVATE
UNITS_NO_LITERALS
UNITS_NO_REFERENCES
)
find_package(linear_algebra CONFIG REQUIRED)
add_example(linear_algebra mp-units::core-fmt mp-units::core-io mp-units::si)

View File

@ -20,10 +20,6 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.
#define UNITS_ALIASES
#define UNITS_LITERALS
#define UNITS_REFERENCES
#include <units/format.h>
#include <units/isq/si/international/length.h>
#include <units/isq/si/international/speed.h> // IWYU pragma: keep

View File

@ -28,7 +28,10 @@ cmake_minimum_required(VERSION 3.2)
function(add_example target)
add_executable(${target} ${target}.cpp)
target_link_libraries(${target} PRIVATE ${ARGN})
target_compile_definitions(${target} PRIVATE UNITS_REFERENCES)
target_compile_definitions(${target} PRIVATE
UNITS_NO_LITERALS
UNITS_NO_ALIASES
)
endfunction()
add_example(kalman_filter-example_1 mp-units::core-fmt mp-units::si)

View File

@ -28,7 +28,10 @@ cmake_minimum_required(VERSION 3.2)
function(add_example target)
add_executable(${target}-literals ${target}.cpp)
target_link_libraries(${target}-literals PRIVATE ${ARGN})
target_compile_definitions(${target}-literals PRIVATE UNITS_LITERALS)
target_compile_definitions(${target}-literals PRIVATE
UNITS_NO_REFERENCES
UNITS_NO_ALIASES
)
endfunction()
add_example(avg_speed mp-units::core-io mp-units::si mp-units::si-cgs mp-units::si-international)
@ -42,7 +45,10 @@ add_example(unknown_dimension mp-units::core-io mp-units::si)
if(NOT UNITS_LIBCXX)
add_example(glide_computer_example mp-units::core-fmt mp-units::si-international glide_computer)
target_compile_definitions(glide_computer_example-literals PRIVATE UNITS_LITERALS)
target_compile_definitions(glide_computer_example-literals PRIVATE
UNITS_NO_REFERENCES
UNITS_NO_ALIASES
)
find_package(linear_algebra CONFIG REQUIRED)
add_example(linear_algebra mp-units::core-fmt mp-units::core-io mp-units::si)

View File

@ -28,7 +28,10 @@ cmake_minimum_required(VERSION 3.2)
function(add_example target)
add_executable(${target}-references ${target}.cpp)
target_link_libraries(${target}-references PRIVATE ${ARGN})
target_compile_definitions(${target}-references PRIVATE UNITS_REFERENCES)
target_compile_definitions(${target}-references PRIVATE
UNITS_NO_LITERALS
UNITS_NO_ALIASES
)
endfunction()
add_example(avg_speed mp-units::core-io mp-units::si mp-units::si-cgs mp-units::si-international)
@ -42,7 +45,10 @@ add_example(unknown_dimension mp-units::core-io mp-units::si)
if(NOT UNITS_LIBCXX)
add_example(glide_computer_example mp-units::core-fmt mp-units::si-international glide_computer)
target_compile_definitions(glide_computer_example-references PRIVATE UNITS_REFERENCES)
target_compile_definitions(glide_computer_example-references PRIVATE
UNITS_NO_LITERALS
UNITS_NO_ALIASES
)
find_package(linear_algebra CONFIG REQUIRED)
add_example(linear_algebra mp-units::core-fmt mp-units::core-io mp-units::si)

View File

@ -43,7 +43,7 @@ concept Angle = QuantityOfT<T, dim_angle>;
template<UnitOf<dim_angle<>> U, Representation Rep = double>
using angle = quantity<dim_angle<>, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -53,9 +53,9 @@ constexpr auto operator"" _q_rad(long double l) { return angle<radian, long doub
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace angle_references {
@ -69,6 +69,6 @@ using namespace angle_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units

View File

@ -50,7 +50,7 @@ using dim_modulation_rate = si::dim_frequency;
template<UnitOf<dim_modulation_rate> U, Representation Rep = double>
using modulation_rate = quantity<dim_modulation_rate, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -66,9 +66,9 @@ constexpr auto operator"" _q_YBd(unsigned long long l) { gsl_ExpectsAudit(std::i
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace modulation_rate_references {
@ -90,11 +90,11 @@ using namespace modulation_rate_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::iec80000
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::iec80000::inline modulation_rate {
@ -110,4 +110,4 @@ template<Representation Rep = double> using YBd = units::isq::iec80000::modulati
} // namespace units::aliases::isq::iec80000::inline modulation_rate
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -79,7 +79,7 @@ concept StorageCapacity = QuantityOf<T, dim_storage_capacity>;
template<UnitOf<dim_storage_capacity> U, Representation Rep = double>
using storage_capacity = quantity<dim_storage_capacity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -123,9 +123,9 @@ constexpr auto operator"" _q_PiB(unsigned long long l) { gsl_ExpectsAudit(std::i
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace storage_capacity_references {
@ -175,11 +175,11 @@ using namespace storage_capacity_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::iec80000
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::iec80000::inline storage_capacity {
@ -223,4 +223,4 @@ template<Representation Rep = double> using PiB = units::isq::iec80000::storage_
} // namespace units::aliases::isq::iec80000::inline storage_capacity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -43,7 +43,7 @@ concept TrafficIntensity = QuantityOf<T, dim_traffic_intensity>;
template<UnitOf<dim_traffic_intensity> U, Representation Rep = double>
using traffic_intensity = quantity<dim_traffic_intensity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,9 +51,9 @@ constexpr auto operator"" _q_E(unsigned long long l) { gsl_ExpectsAudit(std::in_
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace traffic_intensity_references {
@ -67,11 +67,11 @@ using namespace traffic_intensity_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::iec80000
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::iec80000::inline traffic_intensity {
@ -79,4 +79,4 @@ template<Representation Rep = double> using E = units::isq::iec80000::traffic_in
} // namespace units::aliases::isq::iec80000::inline traffic_intensity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -52,7 +52,7 @@ concept TransferRate = QuantityOf<T, dim_transfer_rate>;
template<UnitOf<dim_transfer_rate> U, Representation Rep = double>
using transfer_rate = quantity<dim_transfer_rate, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -68,11 +68,11 @@ constexpr auto operator"" _q_YB_per_s(unsigned long long l) { gsl_ExpectsAudit(s
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::iec80000
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::iec80000::inline transfer_rate {
@ -88,4 +88,4 @@ template<Representation Rep = double> using YB_per_s = units::isq::iec80000::tra
} // namespace units::aliases::isq::iec80000::inline transfer_rate
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_acceleration : isq::dim_acceleration<dim_acceleration, gigaelectronvo
template<UnitOf<dim_acceleration> U, Representation Rep = double>
using acceleration = quantity<dim_acceleration, U, Rep>;
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace acceleration_references {
@ -54,11 +54,11 @@ using namespace acceleration_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::natural
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::natural::inline acceleration {
@ -66,4 +66,4 @@ template<Representation Rep = double> using GeV = units::isq::natural::accelerat
} // namespace units::aliases::isq::natural::inline acceleration
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_energy : isq::dim_energy<dim_energy, gigaelectronvolt, dim_force, dim
template<UnitOf<dim_energy> U, Representation Rep = double>
using energy = quantity<dim_energy, U, Rep>;
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace energy_references {
@ -54,11 +54,11 @@ using namespace energy_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::natural
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::natural::inline energy {
@ -66,4 +66,4 @@ template<Representation Rep = double> using GeV = units::isq::natural::energy<un
} // namespace units::aliases::isq::natural::inline energy
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_force : isq::dim_force<dim_force, square_gigaelectronvolt, dim_mass,
template<UnitOf<dim_force> U, Representation Rep = double>
using force = quantity<dim_force, U, Rep>;
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace force_references {
@ -54,11 +54,11 @@ using namespace force_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::natural
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::natural::inline force {
@ -66,4 +66,4 @@ template<Representation Rep = double> using GeV2 = units::isq::natural::force<un
} // namespace units::aliases::isq::natural::inline force
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -37,7 +37,7 @@ struct dim_length : isq::dim_length<inverted_gigaelectronvolt> {};
template<UnitOf<dim_length> U, Representation Rep = double>
using length = quantity<dim_length, U, Rep>;
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -51,11 +51,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::natural
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::natural::inline length {
@ -63,4 +63,4 @@ template<Representation Rep = double> using inv_GeV = units::isq::natural::lengt
} // namespace units::aliases::isq::natural::inline length
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -37,7 +37,7 @@ struct dim_mass : isq::dim_mass<gigaelectronvolt> {};
template<UnitOf<dim_mass> U, Representation Rep = double>
using mass = quantity<dim_mass, U, Rep>;
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace mass_references {
@ -51,11 +51,11 @@ using namespace mass_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::natural
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::natural::inline mass {
@ -63,4 +63,4 @@ template<Representation Rep = double> using GeV = units::isq::natural::mass<unit
} // namespace units::aliases::isq::natural::inline mass
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_momentum : isq::dim_momentum<dim_momentum, gigaelectronvolt, dim_mass
template<UnitOf<dim_momentum> U, Representation Rep = double>
using momentum = quantity<dim_momentum, U, Rep>;
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace momentum_references {
@ -54,11 +54,11 @@ using namespace momentum_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::natural
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::natural::inline momentum {
@ -66,4 +66,4 @@ template<Representation Rep = double> using GeV = units::isq::natural::momentum<
} // namespace units::aliases::isq::natural::inline momentum
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -37,7 +37,7 @@ struct dim_time : isq::dim_time<inverted_gigaelectronvolt> {};
template<UnitOf<dim_time> U, Representation Rep = double>
using time = quantity<dim_time, U, Rep>;
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace time_references {
@ -51,11 +51,11 @@ using namespace time_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::natural
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::natural::inline time {
@ -63,4 +63,4 @@ template<Representation Rep = double> using inv_GeV = units::isq::natural::time<
} // namespace units::aliases::isq::natural::inline time
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_acceleration : isq::dim_acceleration<dim_acceleration, gal, dim_lengt
template<UnitOf<dim_acceleration> U, Representation Rep = double>
using acceleration = quantity<dim_acceleration, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,9 +50,9 @@ constexpr auto operator"" _q_Gal(long double l) { return acceleration<gal, long
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace acceleration_references {
@ -66,11 +66,11 @@ using namespace acceleration_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline acceleration {
@ -78,4 +78,4 @@ template<Representation Rep = double> using Gal = units::isq::si::cgs::accelerat
} // namespace units::aliases::isq::si::cgs::inline acceleration
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct dim_area : isq::dim_area<dim_area, square_centimetre, dim_length> {};
template<UnitOf<dim_area> U, Representation Rep = double>
using area = quantity<dim_area, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -52,9 +52,9 @@ constexpr auto operator"" _q_cm2(long double l) { return area<square_centimetre,
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace area_references {
@ -68,11 +68,11 @@ using namespace area_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline area {
@ -80,4 +80,4 @@ template<Representation Rep = double> using cm2 = units::isq::si::cgs::area<unit
} // namespace units::aliases::isq::si::cgs::inline area
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct dim_energy : isq::dim_energy<dim_energy, erg, dim_force, dim_length> {};
template<UnitOf<dim_energy> U, Representation Rep = double>
using energy = quantity<dim_energy, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -52,9 +52,9 @@ constexpr auto operator"" _q_erg(long double l) { return energy<erg, long double
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace energy_references {
@ -68,11 +68,11 @@ using namespace energy_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline energy {
@ -80,4 +80,4 @@ template<Representation Rep = double> using erg = units::isq::si::cgs::energy<un
} // namespace units::aliases::isq::si::cgs::inline energy
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -43,7 +43,7 @@ struct dim_force : isq::dim_force<dim_force, dyne, dim_mass, dim_acceleration> {
template<UnitOf<dim_force> U, Representation Rep = double>
using force = quantity<dim_force, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -53,9 +53,9 @@ constexpr auto operator"" _q_dyn(long double l) { return force<dyne, long double
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace force_references {
@ -69,11 +69,11 @@ using namespace force_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline force {
@ -81,4 +81,4 @@ template<Representation Rep = double> using dyn = units::isq::si::cgs::force<uni
} // namespace units::aliases::isq::si::cgs::inline force
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_length : isq::dim_length<centimetre> {};
template<UnitOf<dim_length> U, Representation Rep = double>
using length = quantity<dim_length, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,9 +51,9 @@ constexpr auto operator"" _q_cm(long double l) { return length<centimetre, long
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -67,11 +67,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline length {
@ -79,4 +79,4 @@ template<Representation Rep = double> using cm = units::isq::si::cgs::length<uni
} // namespace units::aliases::isq::si::cgs::inline length
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_mass : isq::dim_mass<gram> {};
template<UnitOf<dim_mass> U, Representation Rep = double>
using mass = quantity<dim_mass, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,9 +51,9 @@ constexpr auto operator"" _q_g(long double l) { return mass<gram, long double>(l
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace mass_references {
@ -67,11 +67,11 @@ using namespace mass_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline mass {
@ -79,4 +79,4 @@ template<Representation Rep = double> using g = units::isq::si::cgs::mass<units:
} // namespace units::aliases::isq::si::cgs::inline mass
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_power : isq::dim_power<dim_power, erg_per_second, dim_energy, dim_tim
template<UnitOf<dim_power> U, Representation Rep = double>
using power = quantity<dim_power, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,11 +51,11 @@ constexpr auto operator"" _q_erg_per_s(long double l) { return power<erg_per_sec
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline power {
@ -63,4 +63,4 @@ template<Representation Rep = double> using erg_per_s = units::isq::si::cgs::pow
} // namespace units::aliases::isq::si::cgs::inline power
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -43,7 +43,7 @@ struct dim_pressure : isq::dim_pressure<dim_pressure, barye, dim_force, dim_area
template<UnitOf<dim_pressure> U, Representation Rep = double>
using pressure = quantity<dim_pressure, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -53,9 +53,9 @@ constexpr auto operator"" _q_Ba(long double l) { return pressure<barye, long dou
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace pressure_references {
@ -69,11 +69,11 @@ using namespace pressure_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline pressure {
@ -81,4 +81,4 @@ template<Representation Rep = double> using Ba = units::isq::si::cgs::pressure<u
} // namespace units::aliases::isq::si::cgs::inline pressure
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_speed : isq::dim_speed<dim_speed, centimetre_per_second, dim_length,
template<UnitOf<dim_speed> U, Representation Rep = double>
using speed = quantity<dim_speed, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,11 +50,11 @@ constexpr auto operator"" _q_cm_per_s(long double l) { return speed<centimetre_p
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline speed {
@ -62,4 +62,4 @@ template<Representation Rep = double> using cm_per_s = units::isq::si::cgs::spee
} // namespace units::aliases::isq::si::cgs::inline speed
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -37,7 +37,7 @@ using si::second;
using si::dim_time;
using si::time;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -45,9 +45,9 @@ using si::literals::operator"" _q_s;
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace time_references {
@ -61,11 +61,11 @@ using namespace time_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::cgs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::cgs::inline time {
@ -73,4 +73,4 @@ using namespace units::aliases::isq::si::time;
} // namespace units::aliases::isq::si::cgs::inline time
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -39,7 +39,7 @@ struct dim_acceleration : isq::dim_acceleration<dim_acceleration, foot_per_secon
template<UnitOf<dim_acceleration> U, Representation Rep = double>
using acceleration = quantity<dim_acceleration, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -49,11 +49,11 @@ constexpr auto operator"" _q_ft_per_s2(long double l) { return acceleration<foot
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline acceleration {
@ -61,4 +61,4 @@ template<Representation Rep = double> using ft_per_s2 = units::isq::si::fps::acc
} // namespace units::aliases::isq::si::fps::inline acceleration
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_area : isq::dim_area<dim_area, square_foot, dim_length> {};
template<UnitOf<dim_area> U, Representation Rep = double>
using area = quantity<dim_area, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,9 +51,9 @@ constexpr auto operator"" _q_ft2(long double l) { return area<square_foot, long
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace area_references {
@ -67,11 +67,11 @@ using namespace area_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline area {
@ -79,4 +79,4 @@ template<Representation Rep = double> using ft2 = units::isq::si::fps::area<unit
} // namespace units::aliases::isq::si::fps::inlipne area
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_density : isq::dim_density<dim_density, pound_per_foot_cub, dim_mass,
template<UnitOf<dim_density> U, Representation Rep = double>
using density = quantity<dim_density, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,11 +51,11 @@ constexpr auto operator"" _q_lb_per_ft3(long double l) { return density<pound_pe
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline density {
@ -63,4 +63,4 @@ template<Representation Rep = double> using lb_per_ft3 = units::isq::si::fps::de
} // namespace units::aliases::isq::si::fps::inline density
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -45,7 +45,7 @@ struct foot_pound_force : noble_deduced_unit<foot_pound_force, dim_energy, pound
template<UnitOf<dim_energy> U, Representation Rep = double>
using energy = quantity<dim_energy, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -59,11 +59,11 @@ constexpr auto operator"" _q_ft_lbf(long double l) { return energy<foot_pound_fo
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline energy {
@ -72,4 +72,4 @@ template<Representation Rep = double> using ft_lbf = units::isq::si::fps::energy
} // namespace units::aliases::isq::si::fps::inline energy
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -52,7 +52,7 @@ struct dim_force : isq::dim_force<dim_force, poundal, dim_mass, dim_acceleration
template<UnitOf<dim_force> U, Representation Rep = double>
using force = quantity<dim_force, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -70,9 +70,9 @@ constexpr auto operator"" _q_klbf(long double l) { return force<kilopound_force,
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace force_references {
@ -88,11 +88,11 @@ using namespace force_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline force {
@ -102,4 +102,4 @@ template<Representation Rep = double> using klbf = units::isq::si::fps::force<un
} // namespace units::aliases::isq::si::fps::inline force
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -59,7 +59,7 @@ struct dim_length : isq::dim_length<foot> {};
template<UnitOf<dim_length> U, Representation Rep = double>
using length = quantity<dim_length, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -100,9 +100,9 @@ constexpr auto operator"" _q_naut_mi(long double l) { return length<nautical_mil
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -125,11 +125,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline length {
@ -146,4 +146,4 @@ template<Representation Rep = double> using naut_mi = units::isq::si::fps::lengt
} // namespace units::aliases::isq::si::fps::inline length
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -58,7 +58,7 @@ struct short_ton : named_scaled_unit<short_ton, "ton (short)", no_prefix, ratio(
struct long_ton : named_scaled_unit<long_ton, "ton (long)", no_prefix, ratio(2'240, 1), pound>{};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -100,9 +100,9 @@ constexpr auto operator"" _q_lton(long double l) { return mass<long_ton, long do
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace mass_references {
@ -124,11 +124,11 @@ using namespace mass_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline mass {
@ -144,4 +144,4 @@ template<Representation Rep = double> using lton = units::isq::si::fps::mass<uni
} // namespace units::aliases::isq::si::fps::inline mass
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -46,7 +46,7 @@ struct horse_power : named_scaled_unit<horse_power, "hp", no_prefix, ratio(550),
template<UnitOf<dim_power> U, Representation Rep = double>
using power = quantity<dim_power, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -64,9 +64,9 @@ constexpr auto operator"" _q_hp(long double l) { return power<horse_power, long
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace power_references {
@ -80,11 +80,11 @@ using namespace power_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline power {
@ -94,4 +94,4 @@ template<Representation Rep = double> using hp = units::isq::si::fps::power<unit
} // namespace units::aliases::isq::si::fps::inline power
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -49,7 +49,7 @@ struct pound_force_per_inch_sq : named_scaled_unit<pound_force_per_inch_sq, "psi
struct kilopound_force_per_inch_sq : prefixed_unit<kilopound_force_per_inch_sq, si::kilo, pound_force_per_inch_sq> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -67,9 +67,9 @@ constexpr auto operator"" _q_kpsi(long double l) { return pressure<kilopound_for
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace pressure_references {
@ -84,11 +84,11 @@ using namespace pressure_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline pressure {
@ -98,4 +98,4 @@ template<Representation Rep = double> using kpsi = units::isq::si::fps::pressure
} // namespace units::aliases::isq::si::fps::inline pressure
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -47,7 +47,7 @@ struct nautical_mile_per_hour : named_deduced_unit<nautical_mile_per_hour, dim_s
struct knot : alias_unit<nautical_mile_per_hour, "knot", no_prefix> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -65,9 +65,9 @@ constexpr auto operator"" _q_knot(long double l) { return speed<knot, long doubl
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace speed_references {
@ -82,11 +82,11 @@ using namespace speed_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline speed {
@ -96,4 +96,4 @@ template<Representation Rep = double> using knot = units::isq::si::fps::speed<un
} // namespace units::aliases::isq::si::fps::inline speed
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ using si::hour;
using si::dim_time;
using si::time;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -49,9 +49,9 @@ using si::literals::operator"" _q_s;
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace time_references {
@ -65,11 +65,11 @@ using namespace time_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline time {
@ -77,4 +77,4 @@ using namespace units::aliases::isq::si::time;
} // namespace units::aliases::isq::si::fps::inline time
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct cubic_yard : deduced_unit<cubic_yard, dim_volume, yard> {};
template<UnitOf<dim_volume> U, Representation Rep = double>
using volume = quantity<dim_volume, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -56,9 +56,9 @@ constexpr auto operator"" _q_yd3(long double l) { return volume<cubic_yard, long
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace volume_references {
@ -73,11 +73,11 @@ using namespace volume_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::fps
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::fps::inline volume {
@ -86,4 +86,4 @@ template<Representation Rep = double> using yd3 = units::isq::si::fps::volume<un
} // namespace units::aliases::isq::si::fps::inline volume
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -44,7 +44,7 @@ struct parsec : named_scaled_unit<parsec, "pc", si::prefix, ratio(30'856'775'814
// https://en.wikipedia.org/wiki/Angstrom
struct angstrom : named_scaled_unit<angstrom, "angstrom", no_prefix, ratio(1, 1, -10), si::metre> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -62,9 +62,9 @@ constexpr auto operator"" _q_angstrom(long double l) { return si::length<angstro
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -80,11 +80,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::iau
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::iau::inline length {
@ -94,4 +94,4 @@ template<Representation Rep = double> using angstrom = units::isq::si::length<un
} // namespace units::aliases::isq::si::iau
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct chain : named_scaled_unit<chain, "ch", no_prefix, ratio(22, 1), si::inter
// https://en.wikipedia.org/wiki/Rod_(unit)
struct rod : named_scaled_unit<rod, "rd", no_prefix, ratio(1, 4), chain> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -54,9 +54,9 @@ constexpr auto operator"" _q_rd(long double l) { return si::length<rod, long dou
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -71,11 +71,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::imperial
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::imperial::inline length {
@ -84,4 +84,4 @@ template<Representation Rep = double> using rd = units::isq::si::length<units::i
} // namespace units::aliases::isq::si::imperial::inline length
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -37,7 +37,7 @@ namespace units::isq::si::international {
struct square_foot : deduced_unit<square_foot, si::dim_area, si::international::foot> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -47,9 +47,9 @@ constexpr auto operator"" _q_ft2(long double l) { return si::area<square_foot, l
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace area_references {
@ -63,11 +63,11 @@ using namespace area_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::international
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::international::inline area {
@ -75,4 +75,4 @@ template<Representation Rep = double> using ft2 = units::isq::si::area<units::is
} // namespace units::aliases::isq::si::international::inline area
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -66,7 +66,7 @@ struct thou : named_scaled_unit<thou, "thou", no_prefix, ratio(1, 1000), inch> {
// https://en.wikipedia.org/wiki/Thousandth_of_an_inch
using mil = thou;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -104,9 +104,9 @@ constexpr auto operator"" _q_mil(long double l) { return si::length<mil, long do
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -127,11 +127,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::international
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::international::inline length {
@ -146,4 +146,4 @@ template<Representation Rep = double> using mil = units::isq::si::length<units::
} // namespace units::aliases::isq::si::international::inline length
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -36,7 +36,7 @@ namespace units::isq::si::international {
struct mile_per_hour : deduced_unit<mile_per_hour, si::dim_speed, si::international::mile, si::hour> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -46,11 +46,11 @@ constexpr auto operator"" _q_mi_per_h(long double l) { return si::speed<mile_per
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si::international
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::international::inline speed {
@ -58,4 +58,4 @@ template<Representation Rep = double> using mi_per_h = units::isq::si::speed<uni
} // namespace units::aliases::isq::si::international::inline speed
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -37,7 +37,7 @@ namespace units::isq::si::international {
struct cubic_foot : deduced_unit<cubic_foot, si::dim_volume, si::international::foot> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -47,9 +47,9 @@ constexpr auto operator"" _q_ft3(long double l) { return si::volume<cubic_foot,
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace volume_references {
@ -63,11 +63,11 @@ using namespace volume_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::international
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::international::inline volume {
@ -75,4 +75,4 @@ template<Representation Rep = double> using ft3 = units::isq::si::volume<units::
} // namespace units::aliases::isq::si::international::inline volume
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct pica_prn : named_scaled_unit<pica_prn, "pica(prn)", no_prefix, ratio(2108
struct point_comp : named_scaled_unit<point_comp, "point(comp)", no_prefix, ratio(1763889, 500000, -4), si::metre> {};
struct point_prn : named_scaled_unit<point_prn, "point(prn)", no_prefix, ratio(1757299, 500000, -4), si::metre> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -63,9 +63,9 @@ constexpr auto operator"" _q_point_prn(long double l) { return si::length<point_
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -82,11 +82,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::typographic
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::typographic::inline length {
@ -97,4 +97,4 @@ template<Representation Rep = double> using point_prn = units::isq::si::length<u
} // namespace units::aliases::isq::si::typographic::inline length
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -45,7 +45,7 @@ struct fathom : named_scaled_unit<fathom, "fathom(us)", no_prefix, ratio(6), foo
// https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors#B6
struct mile : named_scaled_unit<mile, "mi(us)", no_prefix, ratio(5280), foot> {};
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -63,9 +63,9 @@ constexpr auto operator"" _q_mi_us(long double l) { return si::length<units::isq
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -81,11 +81,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si::uscs
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::uscs::inline length {
@ -95,4 +95,4 @@ template<Representation Rep = double> using mi = units::isq::si::length<units::i
} // namespace units::aliases::isq::si::uscs::inline length
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -62,7 +62,7 @@ struct dim_absorbed_dose : isq::dim_absorbed_dose<dim_absorbed_dose, gray, dim_e
template<UnitOf<dim_absorbed_dose> U, Representation Rep = double>
using absorbed_dose = quantity<dim_absorbed_dose, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -152,9 +152,9 @@ constexpr auto operator"" _q_YGy(long double l) { return absorbed_dose<yottagray
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace absorbed_dose_references {
@ -188,11 +188,11 @@ using namespace absorbed_dose_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline absorbed_dose {
@ -220,4 +220,4 @@ template<Representation Rep = double> using YGy = units::isq::si::absorbed_dose<
} // namespace units::aliases::isq::si::inline absorbed_dose
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -39,7 +39,7 @@ struct dim_acceleration : isq::dim_acceleration<dim_acceleration, metre_per_seco
template<UnitOf<dim_acceleration> U, Representation Rep = double>
using acceleration = quantity<dim_acceleration, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -49,11 +49,11 @@ constexpr auto operator"" _q_m_per_s2(long double l) { return acceleration<metre
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline acceleration {
@ -61,4 +61,4 @@ template<Representation Rep = double> using m_per_s2 = units::isq::si::accelerat
} // namespace units::aliases::isq::si::inline acceleration
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_amount_of_substance : isq::dim_amount_of_substance<mole> {};
template<UnitOf<dim_amount_of_substance> U, Representation Rep = double>
using amount_of_substance = quantity<dim_amount_of_substance, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,9 +51,9 @@ constexpr auto operator"" _q_mol(long double l) { return amount_of_substance<mol
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace amount_of_substance_references {
@ -67,11 +67,11 @@ using namespace amount_of_substance_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline amount_of_substance {
@ -79,4 +79,4 @@ template<Representation Rep = double> using mol = units::isq::si::amount_of_subs
} // namespace units::aliases::isq::si::inline amount_of_substance
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_angular_velocity : isq::dim_angular_velocity<dim_angular_velocity, ra
template<UnitOf<dim_angular_velocity> U, Representation Rep = double>
using angular_velocity = quantity<dim_angular_velocity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,11 +51,11 @@ constexpr auto operator"" _q_rad_per_s(long double l) { return angular_velocity<
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline angular_velocity {
@ -63,4 +63,4 @@ template<Representation Rep = double> using rad_per_s = units::isq::si::angular_
} // namespace units::aliases::isq::si::inline angular_velocity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -63,7 +63,7 @@ struct hectare : alias_unit<square_hectometre, "ha", no_prefix> {};
template<UnitOf<dim_area> U, Representation Rep = double>
using area = quantity<dim_area, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -157,9 +157,9 @@ constexpr auto operator"" _q_ha(long double l) { return area<hectare, long doubl
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace area_references {
@ -195,11 +195,11 @@ using namespace area_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline area {
@ -229,4 +229,4 @@ template<Representation Rep = double> using ha = units::isq::si::area<units::isq
} // namespace units::aliases::isq::si::inline area
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -63,7 +63,7 @@ struct dim_capacitance : isq::dim_capacitance<dim_capacitance, farad, dim_electr
template<UnitOf<dim_capacitance> U, Representation Rep = double>
using capacitance = quantity<dim_capacitance, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -153,9 +153,9 @@ constexpr auto operator"" _q_YF(long double l) { return capacitance<yottafarad,
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace capacitance_references {
@ -189,11 +189,11 @@ using namespace capacitance_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline capacitance {
@ -221,4 +221,4 @@ template<Representation Rep = double> using YF = units::isq::si::capacitance<uni
} // namespace units::aliases::isq::si::inline capacitance
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -65,7 +65,7 @@ struct dim_catalytic_activity : isq::dim_catalytic_activity<dim_catalytic_activi
template<UnitOf<dim_catalytic_activity> U, Representation Rep = double>
using catalytic_activity = quantity<dim_catalytic_activity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -159,9 +159,9 @@ constexpr auto operator"" _q_U(long double l) { return catalytic_activity<enzyme
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace catalytic_activity_references {
@ -196,11 +196,11 @@ using namespace catalytic_activity_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline catalytic_activity {
@ -229,4 +229,4 @@ template<Representation Rep = double> using U = units::isq::si::catalytic_activi
} // namespace units::aliases::isq::si::inline catalytic_activity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -47,7 +47,7 @@ using charge_density = quantity<dim_charge_density, U, Rep>;
template<UnitOf<dim_surface_charge_density> U, Representation Rep = double>
using surface_charge_density = quantity<dim_surface_charge_density, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -61,11 +61,11 @@ constexpr auto operator"" _q_C_per_m2(long double l) { return surface_charge_den
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline charge_density {
@ -74,4 +74,4 @@ template<Representation Rep = double> using C_per_m2 = units::isq::si::surface_c
} // namespace units::aliases::isq::si::inline charge_density
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_concentration : isq::dim_concentration<dim_concentration, mol_per_met
template<UnitOf<dim_concentration> U, Representation Rep = double>
using concentration = quantity<dim_concentration, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,11 +50,11 @@ constexpr auto operator"" _q_mol_per_m3(long double l) { return concentration<mo
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline concentration {
@ -62,4 +62,4 @@ template<Representation Rep = double> using mol_per_m3 = units::isq::si::concent
} // namespace units::aliases::isq::si::inline concentration
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -58,7 +58,7 @@ struct dim_conductance : isq::dim_conductance<dim_conductance, siemens, dim_resi
template<UnitOf<dim_conductance> U, Representation Rep = double>
using conductance = quantity<dim_conductance, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -132,9 +132,9 @@ constexpr auto operator"" _q_YS(long double l) { return conductance<yottasiemens
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace conductance_references {
@ -164,11 +164,11 @@ using namespace conductance_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline conductance {
@ -192,4 +192,4 @@ template<Representation Rep = double> using YS = units::isq::si::conductance<uni
} // namespace units::aliases::isq::si::inline conductance
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct dim_current_density : isq::dim_current_density<dim_current_density, amper
template<UnitOf<dim_current_density> U, Representation Rep = double>
using current_density = quantity<dim_current_density, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -52,11 +52,11 @@ constexpr auto operator"" _q_A_per_m2(long double l) { return current_density<am
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline current_density {
@ -64,4 +64,4 @@ template<Representation Rep = double> using A_per_m2 = units::isq::si::current_d
} // namespace units::aliases::isq::si::inline current_density
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct dim_density : isq::dim_density<dim_density, kilogram_per_metre_cub, dim_m
template<UnitOf<dim_density> U, Representation Rep = double>
using density = quantity<dim_density, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -52,11 +52,11 @@ constexpr auto operator"" _q_kg_per_m3(long double l) { return density<kilogram_
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline density {
@ -64,4 +64,4 @@ template<Representation Rep = double> using kg_per_m3 = units::isq::si::density<
} // namespace units::aliases::isq::si::inline density
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_dynamic_viscosity : isq::dim_dynamic_viscosity<dim_dynamic_viscosity,
template<UnitOf<dim_dynamic_viscosity> U, Representation Rep = double>
using dynamic_viscosity = quantity<dim_dynamic_viscosity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,11 +50,11 @@ constexpr auto operator"" _q_Pa_s(long double l) { return dynamic_viscosity<pasc
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline dynamic_viscosity {
@ -62,4 +62,4 @@ template<Representation Rep = double> using Pa_s = units::isq::si::dynamic_visco
} // namespace units::aliases::isq::si::inline dynamic_viscosity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct dim_electric_charge : isq::dim_electric_charge<dim_electric_charge, coulo
template<UnitOf<dim_electric_charge> U, Representation Rep = double>
using electric_charge = quantity<dim_electric_charge, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -52,9 +52,9 @@ constexpr auto operator"" _q_C(long double l) { return electric_charge<coulomb,
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace electric_charge_references {
@ -68,11 +68,11 @@ using namespace electric_charge_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline electric_charge {
@ -80,4 +80,4 @@ template<Representation Rep = double> using C = units::isq::si::electric_charge<
} // namespace units::aliases::isq::si::inline electric_charge
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -61,7 +61,7 @@ struct dim_electric_current : isq::dim_electric_current<ampere> {};
template<UnitOf<dim_electric_current> U, Representation Rep = double>
using electric_current = quantity<dim_electric_current, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -151,9 +151,9 @@ constexpr auto operator"" _q_YA(long double l) { return electric_current<yottaam
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace electric_current_references {
@ -187,11 +187,11 @@ using namespace electric_current_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline electric_current {
@ -219,4 +219,4 @@ template<Representation Rep = double> using YA = units::isq::si::electric_curren
} // namespace units::aliases::isq::si::inline electric_current
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -39,7 +39,7 @@ struct dim_electric_field_strength : isq::dim_electric_field_strength<dim_electr
template<UnitOf<dim_electric_field_strength> U, Representation Rep = double>
using electric_field_strength = quantity<dim_electric_field_strength, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -49,11 +49,11 @@ constexpr auto operator"" _q_V_per_m(long double l) { return electric_field_stre
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline electric_field_strength {
@ -61,4 +61,4 @@ template<Representation Rep = double> using V_per_m = units::isq::si::electric_f
} // namespace units::aliases::isq::si::inline electric_field_strength
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -61,7 +61,7 @@ struct dim_energy : isq::dim_energy<dim_energy, joule, dim_force, dim_length> {}
template<UnitOf<dim_energy> U, Representation Rep = double>
using energy = quantity<dim_energy, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -143,9 +143,9 @@ constexpr auto operator"" _q_GeV(long double l) { return energy<gigaelectronvolt
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace energy_references {
@ -178,11 +178,11 @@ using namespace energy_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline energy {
@ -209,4 +209,4 @@ template<Representation Rep = double> using GeV = units::isq::si::energy<units::
} // namespace units::aliases::isq::si::inline energy
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_energy_density : isq::dim_energy_density<dim_energy_density, joule_pe
template<UnitOf<dim_energy_density> U, Representation Rep = double>
using energy_density = quantity<dim_energy_density, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,11 +50,11 @@ constexpr auto operator"" _q_J_per_m3(long double l) { return energy_density<jou
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline energy_density {
@ -62,4 +62,4 @@ template<Representation Rep = double> using J_per_m3 = units::isq::si::energy_de
} // namespace units::aliases::isq::si::inline energy_density
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -63,7 +63,7 @@ struct dim_force : isq::dim_force<dim_force, newton, dim_mass, dim_acceleration>
template<UnitOf<dim_force> U, Representation Rep = double>
using force = quantity<dim_force, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -153,9 +153,9 @@ constexpr auto operator"" _q_YN(long double l) { return force<yottanewton, long
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace force_references {
@ -189,11 +189,11 @@ using namespace force_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline force {
@ -221,4 +221,4 @@ template<Representation Rep = double> using YN = units::isq::si::force<units::is
} // namespace units::aliases::isq::si::inline force
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -57,7 +57,7 @@ struct dim_frequency : isq::dim_frequency<dim_frequency, hertz, dim_time> {};
template<UnitOf<dim_frequency> U, Representation Rep = double>
using frequency = quantity<dim_frequency, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -131,9 +131,9 @@ constexpr auto operator"" _q_YHz(long double l) { return frequency<yottahertz, l
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace frequency_references {
@ -163,11 +163,11 @@ using namespace frequency_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline frequency {
@ -191,4 +191,4 @@ template<Representation Rep = double> using YHz = units::isq::si::frequency<unit
} // namespace units::aliases::isq::si::inline frequency
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -53,7 +53,7 @@ using specific_heat_capacity = quantity<dim_specific_heat_capacity, U, Rep>;
template<UnitOf<dim_molar_heat_capacity> U, Representation Rep = double>
using molar_heat_capacity = quantity<dim_molar_heat_capacity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -71,11 +71,11 @@ constexpr auto operator"" _q_J_per_mol_K(long double l) { return molar_heat_capa
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::heat_capacity {
@ -85,4 +85,4 @@ template<Representation Rep = double> using J_per_mol_K = units::isq::si::molar_
} // namespace units::aliases::isq::si::heat_capacity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -59,7 +59,7 @@ struct dim_inductance : isq::dim_inductance<dim_inductance, henry, dim_magnetic_
template<UnitOf<dim_inductance> U, Representation Rep = double>
using inductance = quantity<dim_inductance, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -133,9 +133,9 @@ constexpr auto operator"" _q_YH(long double l) { return inductance<yottahenry, l
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace inductance_references {
@ -165,11 +165,11 @@ using namespace inductance_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline inductance {
@ -193,4 +193,4 @@ template<Representation Rep = double> using YH = units::isq::si::inductance<unit
} // namespace units::aliases::isq::si::inline inductance
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -63,7 +63,7 @@ struct dim_length : isq::dim_length<metre> {};
template<UnitOf<dim_length> U, Representation Rep = double>
using length = quantity<dim_length, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -157,9 +157,9 @@ constexpr auto operator"" _q_au(long double l) { return length<astronomical_unit
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace length_references {
@ -194,11 +194,11 @@ using namespace length_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline length {
@ -227,4 +227,4 @@ template<Representation Rep = double> using au = units::isq::si::length<units::i
} // namespace units::aliases::isq::si::inline length
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_luminance : isq::dim_luminance<dim_luminance, candela_per_metre_sq, d
template<UnitOf<dim_luminance> U, Representation Rep = double>
using luminance = quantity<dim_luminance, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,11 +50,11 @@ constexpr auto operator"" _q_cd_per_m2(long double l) { return luminance<candela
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline luminance {
@ -62,4 +62,4 @@ template<Representation Rep = double> using cd_per_m2 = units::isq::si::luminanc
} // namespace units::aliases::isq::si::inline luminance
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -61,7 +61,7 @@ struct dim_luminous_intensity : isq::dim_luminous_intensity<candela> {};
template<UnitOf<dim_luminous_intensity> U, Representation Rep = double>
using luminous_intensity = quantity<dim_luminous_intensity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -151,9 +151,9 @@ constexpr auto operator"" _q_Ycd(long double l) { return luminous_intensity<yott
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace luminous_intensity_references {
@ -187,11 +187,11 @@ using namespace luminous_intensity_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::luminous_intensity {
@ -219,4 +219,4 @@ template<Representation Rep = double> using Ycd = units::isq::si::luminous_inten
} // namespace units::aliases::isq::si::luminous_intensity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -59,7 +59,7 @@ struct dim_magnetic_flux : isq::dim_magnetic_flux<dim_magnetic_flux, weber, dim_
template<UnitOf<dim_magnetic_flux> U, Representation Rep = double>
using magnetic_flux = quantity<dim_magnetic_flux, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -133,9 +133,9 @@ constexpr auto operator"" _q_YWb(long double l) { return magnetic_flux<yottawebe
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace magnetic_flux_references {
@ -165,11 +165,11 @@ using namespace magnetic_flux_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline magnetic_flux {
@ -193,4 +193,4 @@ template<Representation Rep = double> using YWb = units::isq::si::magnetic_flux<
} // namespace units::aliases::isq::si::inline magnetic_flux
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -63,7 +63,7 @@ struct dim_magnetic_induction : isq::dim_magnetic_induction<dim_magnetic_inducti
template<UnitOf<dim_magnetic_induction> U, Representation Rep = double>
using magnetic_induction = quantity<dim_magnetic_induction, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -141,9 +141,9 @@ constexpr auto operator"" _q_G(long double l) { return magnetic_induction<gauss,
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace magnetic_induction_references {
@ -174,11 +174,11 @@ using namespace magnetic_induction_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline magnetic_induction {
@ -203,4 +203,4 @@ template<Representation Rep = double> using G = units::isq::si::magnetic_inducti
} // namespace units::aliases::isq::si::inline magnetic_induction
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -85,7 +85,7 @@ struct dim_mass : isq::dim_mass<kilogram> {};
template<UnitOf<dim_mass> U, Representation Rep = double>
using mass = quantity<dim_mass, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -264,9 +264,9 @@ constexpr auto operator"" _q_Da(long double l) { return mass<dalton, long double
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace mass_references {
@ -323,11 +323,11 @@ using namespace mass_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline mass {
@ -378,4 +378,4 @@ template<Representation Rep = double> using Da = units::isq::si::mass<units::isq
} // namespace units::aliases::isq::si::inline mass
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct dim_molar_energy : isq::dim_molar_energy<dim_molar_energy, joule_per_mole
template<UnitOf<dim_molar_energy> U, Representation Rep = double>
using molar_energy = quantity<dim_molar_energy, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -52,11 +52,11 @@ constexpr auto operator"" _q_J_per_mol(long double l) { return molar_energy<joul
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline molar_energy {
@ -64,4 +64,4 @@ template<Representation Rep = double> using J_per_mol = units::isq::si::molar_en
} // namespace units::aliases::isq::si::inline molar_energy
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_momentum : isq::dim_momentum<dim_momentum, kilogram_metre_per_second,
template<UnitOf<dim_momentum> U, Representation Rep = double>
using momentum = quantity<dim_momentum, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,11 +50,11 @@ constexpr auto operator"" _q_kg_m_per_s(long double l) { return momentum<kilogra
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline momentum {
@ -62,4 +62,4 @@ template<Representation Rep = double> using kg_m_per_s = units::isq::si::momentu
} // namespace units::aliases::isq::si::inline momentum
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_permeability : isq::dim_permeability<dim_permeability, henry_per_metr
template<UnitOf<dim_permeability> U, Representation Rep = double>
using permeability = quantity<dim_permeability, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,11 +51,11 @@ constexpr auto operator"" _q_H_per_m(long double l) { return permeability<henry_
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline permeability {
@ -63,4 +63,4 @@ template<Representation Rep = double> using H_per_m = units::isq::si::permeabili
} // namespace units::aliases::isq::si::inline permeability
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_permittivity : isq::dim_permittivity<dim_permittivity, farad_per_metr
template<UnitOf<dim_permittivity> U, Representation Rep = double>
using permittivity = quantity<dim_permittivity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,11 +51,11 @@ constexpr auto operator"" _q_F_per_m(long double l) { return permittivity<farad_
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline permittivity {
@ -63,4 +63,4 @@ template<Representation Rep = double> using F_per_m = units::isq::si::permittivi
} // namespace units::aliases::isq::si::inline permittivity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -58,7 +58,7 @@ struct dim_power : isq::dim_power<dim_power, watt, dim_energy, dim_time> {};
template<UnitOf<dim_power> U, Representation Rep = double>
using power = quantity<dim_power, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -132,9 +132,9 @@ constexpr auto operator"" _q_YW(long double l) { return power<yottawatt, long do
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace power_references {
@ -164,11 +164,11 @@ using namespace power_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline power {
@ -192,4 +192,4 @@ template<Representation Rep = double> using YW = units::isq::si::power<units::is
} // namespace units::aliases::isq::si::inline power
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -63,7 +63,7 @@ struct dim_pressure : isq::dim_pressure<dim_pressure, pascal, dim_force, dim_are
template<UnitOf<dim_pressure> U, Representation Rep = double>
using pressure = quantity<dim_pressure, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -153,9 +153,9 @@ constexpr auto operator"" _q_YPa(long double l) { return pressure<yottapascal, l
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace pressure_references {
@ -189,11 +189,11 @@ using namespace pressure_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline pressure {
@ -221,4 +221,4 @@ template<Representation Rep = double> using YPa = units::isq::si::pressure<units
} // namespace units::aliases::isq::si::inline pressure
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -61,7 +61,7 @@ struct dim_radioactivity : isq::dim_radioactivity<dim_radioactivity, becquerel,
template<UnitOf<dim_radioactivity> U, Representation Rep = double>
using radioactivity = quantity<dim_radioactivity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -151,9 +151,9 @@ constexpr auto operator"" _q_YBq(long double l) { return radioactivity<yottabecq
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace radioactivity_references {
@ -187,11 +187,11 @@ using namespace radioactivity_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline radioactivity {
@ -219,4 +219,4 @@ template<Representation Rep = double> using YBq = units::isq::radioactivity<unit
} // namespace units::aliases::isq::si::inline radioactivity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -59,7 +59,7 @@ struct dim_resistance : isq::dim_resistance<dim_resistance, ohm, dim_voltage, di
template<UnitOf<dim_resistance> U, Representation Rep = double>
using resistance = quantity<dim_resistance, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -133,9 +133,9 @@ constexpr auto operator"" _q_YR(long double l) { return resistance<yottaohm, lon
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace resistance_references {
@ -165,11 +165,11 @@ using namespace resistance_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline resistance {
@ -193,4 +193,4 @@ template<Representation Rep = double> using YR = units::isq::si::resistance<unit
} // namespace units::aliases::isq::si::inline resistance
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct kilometre_per_hour : deduced_unit<kilometre_per_hour, dim_speed, kilometr
template<UnitOf<dim_speed> U, Representation Rep = double>
using speed = quantity<dim_speed, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -56,11 +56,11 @@ constexpr auto operator"" _q_km_per_h(long double l) { return speed<kilometre_pe
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline speed {
@ -69,4 +69,4 @@ template<Representation Rep = double> using km_per_h = units::isq::si::speed<uni
} // namespace units::aliases::isq::si::inline speed
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_surface_tension : isq::dim_surface_tension<dim_surface_tension, newto
template<UnitOf<dim_surface_tension> U, Representation Rep = double>
using surface_tension = quantity<dim_surface_tension, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,11 +50,11 @@ constexpr auto operator"" _q_N_per_m(long double l) { return surface_tension<new
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline surface_tension {
@ -62,4 +62,4 @@ template<Representation Rep = double> using N_per_m = units::isq::si::surface_te
} // namespace units::aliases::isq::si::inline surface_tension
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -41,7 +41,7 @@ struct dim_thermal_conductivity : isq::dim_thermal_conductivity<dim_thermal_cond
template<UnitOf<dim_thermal_conductivity> U, Representation Rep = double>
using thermal_conductivity = quantity<dim_thermal_conductivity, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -51,11 +51,11 @@ constexpr auto operator"" _q_W_per_m_K(long double l) { return thermal_conductiv
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline thermal_conductivity {
@ -63,4 +63,4 @@ template<Representation Rep = double> using W_per_m_K = units::isq::si::thermal_
} // namespace units::aliases::isq::si::inline thermal_conductivity
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -40,7 +40,7 @@ struct dim_thermodynamic_temperature : isq::dim_thermodynamic_temperature<kelvin
template<UnitOf<dim_thermodynamic_temperature> U, Representation Rep = double>
using thermodynamic_temperature = quantity<dim_thermodynamic_temperature, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -50,9 +50,9 @@ constexpr auto operator"" _q_K(long double l) { return thermodynamic_temperature
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace thermodynamic_temperature_references {
@ -66,11 +66,11 @@ using namespace thermodynamic_temperature_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline thermodynamic_temperature {
@ -78,4 +78,4 @@ template<Representation Rep = double> using K = units::isq::si::thermodynamic_te
} // namespace units::aliases::isq::si::inline thermodynamic_temperature
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -52,7 +52,7 @@ struct dim_time : isq::dim_time<second> {};
template<UnitOf<dim_time> U, Representation Rep = double>
using time = quantity<dim_time, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -106,9 +106,9 @@ constexpr auto operator"" _q_d(long double l) { return time<day, long double>(l)
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace time_references {
@ -133,11 +133,11 @@ using namespace time_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline time {
@ -156,4 +156,4 @@ template<Representation Rep = double> using d = units::isq::si::time<units::isq:
} // namespace units::aliases::isq::si::inline time
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -42,7 +42,7 @@ struct dim_torque : isq::dim_torque<dim_torque, newton_metre_per_radian, dim_for
template<UnitOf<dim_torque> U, Representation Rep = double>
using torque = quantity<dim_torque, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -52,11 +52,11 @@ constexpr auto operator"" _q_N_m_per_rad(long double l) { return torque<newton_m
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline torque {
@ -64,4 +64,4 @@ template<Representation Rep = double> using N_m_per_rad = units::isq::si::torque
} // namespace units::aliases::isq::si::inline torque
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -63,7 +63,7 @@ struct dim_voltage : isq::dim_voltage<dim_voltage, volt, dim_power, dim_electric
template<UnitOf<dim_voltage> U, Representation Rep = double>
using voltage = quantity<dim_voltage, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -153,9 +153,9 @@ constexpr auto operator"" _q_YV(long double l) { return voltage<yottavolt, long
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace voltage_references {
@ -189,11 +189,11 @@ using namespace voltage_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline voltage {
@ -221,4 +221,4 @@ template<Representation Rep = double> using YV = units::isq::si::voltage<units::
} // namespace units::aliases::isq::si::inline voltage
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -83,7 +83,7 @@ struct yottalitre : prefixed_unit<yottalitre, yotta, litre> {};
template<UnitOf<dim_volume> U, Representation Rep = double>
using volume = quantity<dim_volume, U, Rep>;
#ifdef UNITS_LITERALS
#ifndef UNITS_NO_LITERALS
inline namespace literals {
@ -257,9 +257,9 @@ constexpr auto operator"" _q_Yl(long double l) { return volume<yottalitre, long
} // namespace literals
#endif // UNITS_LITERALS
#endif // UNITS_NO_LITERALS
#ifdef UNITS_REFERENCES
#ifndef UNITS_NO_REFERENCES
namespace volume_references {
@ -315,11 +315,11 @@ using namespace volume_references;
} // namespace references
#endif // UNITS_REFERENCES
#endif // UNITS_NO_REFERENCES
} // namespace units::isq::si
#ifdef UNITS_ALIASES
#ifndef UNITS_NO_ALIASES
namespace units::aliases::isq::si::inline volume {
@ -369,4 +369,4 @@ template<Representation Rep = double> using Yl = units::isq::si::volume<units::i
} // namespace units::aliases::isq::si::inline volume
#endif // UNITS_ALIASES
#endif // UNITS_NO_ALIASES

View File

@ -35,11 +35,6 @@ target_link_libraries(unit_tests_runtime PRIVATE
mp-units::mp-units
Catch2::Catch2
)
target_compile_definitions(unit_tests_runtime PRIVATE
UNITS_REFERENCES
UNITS_LITERALS
UNITS_ALIASES
)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_compile_options(unit_tests_runtime PRIVATE

View File

@ -37,11 +37,6 @@ target_link_libraries(unit_tests_static_truncating PRIVATE
target_compile_options(unit_tests_static_truncating PRIVATE
$<IF:$<CXX_COMPILER_ID:MSVC>,/wd4242 /wd4244,-Wno-conversion>
)
target_compile_definitions(unit_tests_static_truncating PRIVATE
UNITS_REFERENCES
UNITS_LITERALS
UNITS_ALIASES
)
add_library(unit_tests_static
cgs_test.cpp
@ -78,8 +73,3 @@ target_link_libraries(unit_tests_static PRIVATE
unit_tests_static_truncating
mp-units::mp-units
)
target_compile_definitions(unit_tests_static PRIVATE
UNITS_REFERENCES
UNITS_LITERALS
UNITS_ALIASES
)

View File

@ -29,4 +29,3 @@ find_package(mp-units CONFIG REQUIRED)
add_executable(test_package test_package.cpp)
target_link_libraries(test_package PRIVATE mp-units::mp-units)
target_compile_definitions(test_package PRIVATE UNITS_REFERENCES)