Commit Graph

44 Commits

Author SHA1 Message Date
Mateusz Pusz
8ea346be1c refactor: 💥 header files with the entire system definitions moved up in the directory tree 2024-04-25 16:34:11 +02:00
Mateusz Pusz
c066104af7 refactor: 💥 framework.h introduced + IWYU 2024-04-24 21:09:29 +02:00
Mateusz Pusz
a9deec9d59 refactor: example applications refactored to a new formatting syntax 2024-01-23 21:49:17 +01:00
Mateusz Pusz
fb8552b1d9 refactor: core-fmt and core-ostream modules merged with core 2024-01-06 08:51:01 +01:00
Mateusz Pusz
0eaf6e2e56 refactor: modules support redesigned 2024-01-06 08:51:01 +01:00
Johel Ernesto Guerrero Peña
7cb2099af5 feat: add module mp_units 2024-01-06 08:51:00 +01:00
Mateusz Pusz
414f1d1007 style: additional whitespace removed from conversion_factor example 2023-09-13 11:26:55 +02:00
Mateusz Pusz
2b2f62d038 feat: force_numerical_value_in(U) added 2023-09-13 10:10:10 +02:00
Mateusz Pusz
a7711cb301 refactor: quantity::value() refactored to quantity::value_ref_in(U) 2023-09-13 09:23:59 +02:00
Mateusz Pusz
f1c2c74ab0 refactor: quantity::value() renamed to quantity::numerical_value()
According to https://jcgm.bipm.org/vim/en/1.19.html "quantity value" also contains a unit. According to https://jcgm.bipm.org/vim/en/1.20.html "numerical value" is the correct term for just a number.

Resolves #423
2023-08-30 11:30:35 +02:00
Mateusz Pusz
a9204e2473 refactor: number() and number_in() renamed to value() and value_in()
Resolves #423
2023-08-23 17:15:32 +02:00
Mateusz Pusz
ae92b49775 refactor: op[U] for quantity and quantity_point replaced with .in(U)
Resolves #469
2023-08-23 16:46:15 +02:00
Mateusz Pusz
ba1f58af76 refactor: All the macros refactored to have MP_UNITS_ prefix 2023-06-21 18:05:21 +02:00
Mateusz Pusz
5ca1856408 fix(example): value_cast prefixed with a namespace in conversion_factor example 2023-06-16 13:54:45 +03:00
Mateusz Pusz
561fbf7c93 merge branch master 2023-05-26 13:53:52 +02:00
Mateusz Pusz
7d9ae3ec31 refactor: mp_units subdirectory renamed to mp-units 2023-05-25 12:47:10 +02:00
Mateusz Pusz
859bc20fdc refactor: all examples refactored to use a simplified quantity creation 2023-02-08 21:47:48 -08:00
Mateusz Pusz
b4f47c3fef feat: value_cast support added
Resolves #239 and #120
2023-02-03 11:08:13 +01:00
Mateusz Pusz
2cf736a1e6 feat: preventing possible future units crash when using namespace std;
Resolves #317
2022-12-29 20:18:48 +01:00
Mateusz Pusz
6b72dd39c1 refactor: headers with system definitions moved to _systems_ subdirectory 2022-12-29 19:27:54 +01:00
Mateusz Pusz
858cbb472f refactor: First examples refactored to a new quantity creation syntax 2022-12-22 18:06:20 +01:00
Mateusz Pusz
b4828d243d refactor: first examples refactored for V2 2022-11-11 10:33:24 -10:00
Mateusz Pusz
b221dace3f style: clang-format applied to the remaining files 2022-04-02 21:36:42 +02:00
Mateusz Pusz
b1bd4cab2d feat: std::format support for compliant compilers added 2021-09-20 15:01:58 +02:00
Mateusz Pusz
dddc7572aa refactor: conversion_factor example moved to the main examples directory 2021-04-07 19:05:02 +02:00
Mateusz Pusz
b982921d27 refactor: References are now guarded UNITS_REFERENCES with (ON by default) + examples duplicated to subdirectories
Now References can be disabled to meassure a compile time impact. Also the same examples are now provided in two subdirectories to be able to easily compare the pros and cons of every quantity construction technique.
2021-04-06 15:57:28 +02:00
Mateusz Pusz
1a5b4fc85e refactor: UDLs support switched off by default 2021-04-02 18:56:28 +02:00
Mateusz Pusz
37cfc53d1d refactor: IWYU applied to the source files
`alternative_namespaces` examples left out as I consider them a subject for removal in the nearest future.
2021-03-30 13:21:05 +02:00
Mateusz Pusz
901b09fd52 refactor: quantity::count() renamed to quantity::number()
Resolves #259
2021-03-19 06:47:37 +01:00
Mateusz Pusz
bbbb77286c refactor: physical replaced with isq
Refers to #249
2021-03-16 12:03:25 +01:00
Mateusz Pusz
23720d055e refactor: Refactored the library file tree
Resolves #249
2021-03-16 09:32:28 +01:00
Mateusz Pusz
cff718301c refactor: quantity_io added 2020-12-28 15:18:36 +01:00
Mateusz Pusz
6e510b3a2a refactor: modules-like behavior for systems removed to improve broken compile-time
Reffers to #32
2020-09-13 00:11:02 +02:00
Mateusz Pusz
2a56438f1c refactor: file tree with systems defninitions refactored to limit ODR issues
Relates to #32 as with this commit we created something like modules for derived quantities
2020-09-11 18:11:25 +02:00
Mateusz Pusz
e367afed71 Merge branch 'downcasting_2.0' 2020-09-09 20:31:03 +02:00
Mateusz Pusz
9527b39005 refactor: 💥 q_* UDL renamed to _q_*
We had some fun exploring the STD UDLs for potential collisions,
we have learnt our lesson and know how to proceed.
Now is high time to start behaving and obeying C++ rules.
2020-09-09 19:20:35 +02:00
Mateusz Pusz
5c98924efb Downcasting reworked to allow OFF and AUTO modes 2020-08-19 13:37:57 +02:00
Mateusz Pusz
7e935a4108 Physical units put in the physical namespace (I am sorry) 2020-05-08 22:39:24 +02:00
Mateusz Pusz
4b33c0f7c5 Examples with an alternate way to create quantities refactored
- examples modified to provide a unified library look-and-feel
- originals moved to a dedicated subdirectory for further reference and comparison
2020-03-01 14:44:45 +01:00
Mateusz Pusz
18620044c5 All UDLs are now prefixed with q_ 2020-02-17 15:56:06 +01:00
Mateusz Pusz
3a76c1de91 gcc10 compilation error fixed in conversion example 2020-01-14 12:55:07 +01:00
Mateusz Pusz
15e656aba6 clang-format on new examples 2020-01-14 12:50:30 +01:00
Andy Little
024f5a9c83 change const order
move in,ft,fathom,ft2,ft3,mph from us to international namespace
TODO distinguish units with different names for same values
2020-01-12 21:34:36 +01:00
Andy Little
868842bd46 Third party examples : add box example
Add si::density quantity header .
Add si::resistance quantity header.
Update si::capacitance header with mF, uF, nF, pF.
Update si::voltage header with mV, uV, nV,pV
Third party example : add capacitor time curve example
Add incoherent length units, TODO  move them out from si header.
Third party examples : add clcpp_response showing effectivenes of typed units for physical quantity library
Third party examples : add conversion factor example
Add third party examples to cmake

Third party examples : box example : Add air_density constant for clarity remove explicit this-> and tidy up.
Third party examples : in clcpp response example, change base unit from km to m for single type or all units example.
Third party examples : conversion_factor , add inline constexpr to units_str function.
Third party examples : box_example, change quantity::unit syntax to quantity::unit<> to allow generic(default double) value_type.
examples : remove examples from third party to main examples directory. Update cmake.
physical/si/resistance.hpp : remove underscores from kiloohm etc, UDL collision with 'R' so prefix with underscore
2020-01-12 21:34:36 +01:00