Commit Graph

52 Commits

Author SHA1 Message Date
Mateusz Pusz
76a9e0ff6e refactor(example): hello_units refactored to not use auto 2023-09-13 08:58:38 +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
60a564a867 refactor(example): simpler header files used 2023-07-11 19:48:22 +02:00
Mateusz Pusz
52ce2b21f7 refactor: iostream.h renamed to ostream.h 2023-06-23 15:03:04 +02:00
Mateusz Pusz
46a4999d3b docs: hello_units example documentation added 2023-06-22 18:22:41 +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
8c54bbdc9a refactor(example): hello_units example changed to better reflect the code in README 2023-06-16 10:26:34 +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
e98215c347 refactor: examples refactored to benefit from the latest features 2023-02-14 12:58:54 +01:00
Mateusz Pusz
859bc20fdc refactor: all examples refactored to use a simplified quantity creation 2023-02-08 21:47:48 -08:00
Mateusz Pusz
0cebb68e2e fix: broken concept names fixed 2023-02-03 16:58:33 +01:00
Mateusz Pusz
83aee04da0 refactor: quantity_io.h renamed to iostream.h 2023-02-03 16:57:48 +01: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
97da55edfa refactor: the rest of the systems refactored for V2 2022-12-29 18:59:10 +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
92c70f1a4e feat: quantity_spec support added 2022-12-16 18:15:48 +01:00
Mateusz Pusz
e7fff94d7c refactor(example): hello_units refactored 2022-11-30 18:36:16 +01:00
Mateusz Pusz
8d711cdf8e fix: hello_units reverted to the original state 2022-09-08 19:21:47 +02:00
Mateusz Pusz
daf97a3a86 feat: initial very dirty version of V2 framework 2022-09-08 19:11:45 +02: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
2c8c6c2e98 refactor: quantity cration helpers are not opt-out rather than opt-in
Resolves #277
2021-05-09 15:52:20 +02:00
Mateusz Pusz
70bff31d06 feat: quantity aliases support addded 2021-04-15 19:13:25 +02:00
Mateusz Pusz
1f80c57fad refactor: hello_units fixed to provide literals and references preprocessor defines explicitly 2021-04-06 16:36:52 +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
c3659dbb47 refactor: UNITS_UDLS renamed to UNITS_LITERALS
Also now the existence of the preprocessor flag is enough to trigger the feature (`#ifdef` instead of `#if`)
2021-04-06 13:33:27 +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
Johel Ernesto Guerrero Peña
0b87e7c99c refactor!: require explicit number for references
Addresses:
- https://github.com/mpusz/units/pull/261#discussion_r596651065
- https://github.com/mpusz/units/pull/261#discussion_r596664550
- https://github.com/mpusz/units/pull/261#discussion_r597132294
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
018c5837f9 refactor: rename unit_constants to references
Addresses https://github.com/mpusz/units/pull/261#discussion_r596663522.
2021-03-18 22:37:25 +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
dd2079055d feat: hello_units example updated with the latest changes 2020-12-29 11:46:27 +01:00
Mateusz Pusz
cff718301c refactor: quantity_io added 2020-12-28 15:18:36 +01:00
Mateusz Pusz
d4d23847d8 refactor: DOWNCAST_MODE renamed to UNITS_DOWNCAST_MODE 2020-09-13 18:45:46 +02: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
79558a6d72 refactor: systems defined in terms of SI moved under si namespace 2020-09-10 17:14:33 +02:00
Mateusz Pusz
9cd0cb4105 feat: two argument explicit cast support added 2020-09-10 13:01:38 +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
4bb51586dc refactor: got rid of gcc-9 backlog
BREAKING CHANGE: gcc-9.3 no longer supported
2020-09-08 13:09:34 +02:00
Mateusz Pusz
ce301748dd Velocity renamed to Speed (resolves #103) 2020-05-10 17:31:47 +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
18620044c5 All UDLs are now prefixed with q_ 2020-02-17 15:56:06 +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
283e9d81a3 Split the various non-si length units into their own namespaces.
new namespaces are
international ( combination of us and imperial + Canada etc)
iau  (https://www.iau.org/
imperial ( old imperial units)
typographical ( for sizes of printing fonts etc)

These namespace are based on some research , mainly on wikipedia.
Look in src/include/units/physical/si/length.h to see links to see the references to documentation justifying the change.

Unfortunately there are 3 foot units for example, an old imperial version, an old us version and an international version, which is more recent and attempts to unify the two previous ones. All versions have slight changes in value, so I opted to use the international version
The main change in the layout is that inch,foot and yard have been moved from us to international.

With this modification, I also modified the physical/us/area.hpp, volume.hpp and volume.hpp headers to refer to the international units.
This may not be correct, but if the modified us::foot (rather than international foot is used as a basis for these units, then
there is a ratio integer overflow during compilation, probably due to taking 3rd power of a ratio. After this commit. I will try to show that on another branch.
2020-01-12 21:34:36 +01:00
Mateusz Pusz
80a13b1a94 US system isolated from SI 2019-12-17 12:29:19 +01:00