refactor: Fine-grained references support added

This commit is contained in:
Mateusz Pusz committed 2021-04-07 11:26:45 +02:00
1 parent afa67c5f43
commit bd862d3517
59 files changed
+400 -68

No files matched your search

+4 -2
View File
@@ -39,12 +39,12 @@
namespace {
using namespace units::isq;
using namespace si::references;
using namespace si::mass_references;
using namespace si::volume_references;
inline constexpr Acceleration auto g = si::si2019::standard_gravity<>;
inline constexpr Density auto air_density = 1.225 * (kg / m3);
class Box {
si::area<si::square_metre> base_;
si::length<si::metre> height_;
@@ -82,6 +82,8 @@ public:
int main()
{
using namespace units;
using namespace si::length_references;
using namespace si::time_references;
const si::length<si::metre> height = 200.0 * mm;
auto box = Box(1000.0 * mm, 500.0 * mm, height);
+4 -4
View File
@@ -24,21 +24,21 @@
UNITS_DIAGNOSTIC_PUSH
UNITS_DIAGNOSTIC_IGNORE_SHADOW
#include <units/isq/si/force.h>
UNITS_DIAGNOSTIC_POP
#include <units/generic/angle.h>
#include <units/isq/si/energy.h>
#include <units/isq/si/force.h>
#include <units/isq/si/length.h>
#include <units/isq/si/torque.h> // IWYU pragma: keep
#include <units/quantity_io.h>
UNITS_DIAGNOSTIC_POP
#include <iostream>
int main()
{
using namespace units::references;
using namespace units::isq;
using namespace units::isq::si::references;
using namespace units::references;
Torque auto torque = 20.0 * (N * m / rad);
Energy auto energy = 20.0 * J;
+2 -2
View File
@@ -60,7 +60,8 @@ std::ostream& operator<<(std::ostream& os, const matrix<ET, OT>& v)
namespace {
using namespace units::isq;
using namespace units::isq::si::references;
using namespace units::isq::si::length_references;
using namespace units::isq::si::force_references;
template<typename Rep = double>
using vector = std::math::fs_vector<Rep, 3>;
@@ -68,7 +69,6 @@ using vector = std::math::fs_vector<Rep, 3>;
template<typename Rep = double>
using matrix = std::math::fs_matrix<Rep, 3, 3>;
void vector_of_quantity_add()
{
std::cout << "\nvector_of_quantity_add:\n";
+2 -2
View File
@@ -21,11 +21,11 @@
// SOFTWARE.
#include <units/isq/natural/natural.h>
#include <units/isq/si/constants.h>
#include <units/isq/si/energy.h>
#include <units/isq/si/mass.h>
#include <units/isq/si/momentum.h>
#include <units/isq/si/speed.h> // IWYU pragma: keep
#include <units/isq/si/constants.h>
#include <units/math.h>
#include <units/quantity_io.h>
#include <exception>
@@ -43,7 +43,7 @@ Energy auto total_energy(Momentum auto p, Mass auto m, Speed auto c)
void si_example()
{
using namespace units::isq::si;
using namespace units::isq::si::references;
using namespace units::isq::si::energy_references;
constexpr Speed auto c = si2019::speed_of_light<>;