Commit Graph
390 Commits
Author SHA1 Message Date
Mateusz Pusz ebccabc94c refactor: DerivedDimension definition simplified 2023-02-06 22:34:59 -08:00
Mateusz Pusz 764e211f9a fix: perfect forwarding of a number in the reference multiply operator fixed 2023-02-03 16:52:17 +01:00
Mateusz Pusz 0b053933bd feat: core.h header added 2023-02-03 16:51:26 +01:00
Mateusz Pusz cd0ee9276b feat: quantity_cast and multiplying by reference now use perfect forwarding of a number 2023-02-03 15:22:54 +01:00
Mateusz Pusz 7dd5580afb fix: value_cast compilation fixed 2023-02-03 15:19:25 +01:00
Mateusz Pusz b4f47c3fef feat: value_cast support added
Resolves #239 and #120
2023-02-03 11:08:13 +01:00
Mateusz Pusz cf3408a3c8 refactor: implementation cleanup + support for units as references started 2023-02-02 14:56:29 +01:00
Mateusz Pusz 1b2d77af41 feat: quantities of the same kind can now be added, subtracted, or compared to each other 2023-01-28 11:00:50 +01:00
Mateusz Pusz 1d83b7a99c fix: incorrect function trailing ; removed 2023-01-04 15:34:10 +01:00
Mateusz Pusz da64f17895 feat: quantity::number_in(Unit auto) added + removed non-const lvalue overload of number()
Resolves #412
2023-01-03 17:44:44 +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 97da55edfa refactor: the rest of the systems refactored for V2 2022-12-29 18:59:10 +01:00
Mateusz Pusz 210f401416 refactor: units ordering do need type_name (it also caused worse ordering on text output) 2022-12-27 10:08:59 +01:00
Mateusz Pusz 2a3e1f6035 refactor: angular system created 2022-12-25 17:32:29 +01:00
Mateusz Pusz daf6d2fb7a refactor: downcasting-specific build options removed 2022-12-25 17:30:08 +01:00
Mateusz Pusz 1cec3d4867 refactor: _chrono.h_, _math.h_, and _random.h_ move to utlitity CMake module 2022-12-25 17:20:44 +01:00
Mateusz Pusz 07687f9ef6 refactor: _generic/dimensionless.h_ removed (units added to _unit.h_) 2022-12-25 17:14:54 +01:00
Mateusz Pusz 770b9ab6ee refactor: basic_concepts removed 2022-12-23 19:21:35 +01:00
Mateusz Pusz b9f2b7fe9d refactor: std::chrono support refactored for V2 2022-12-23 19:21:01 +01:00
Mateusz Pusz a45088b859 refactor: quantity_point refactored for V2 2022-12-23 19:20:34 +01:00
Mateusz Pusz 4efbf81814 docs: another small cleanup of quantity 2022-12-23 19:16:23 +01:00
Mateusz Pusz 9ad2cd5986 fix: QUANTITY_SPEC macros now use units:: namespace 2022-12-23 18:04:40 +01:00
Mateusz Pusz dd8fb22e6e feat: quantity is now a structural type
Resolves #411
2022-12-23 18:03:15 +01:00
Mateusz Pusz e2a2076c8d style: quantity header cleanup 2022-12-23 18:01:51 +01:00
Mateusz Pusz c056f4535c refactor: quantity_like types refactored 2022-12-23 17:58:57 +01:00
Mateusz Pusz a62c388d05 refactor: make_quantity helper not needed with the new syntax 2022-12-23 16:29:39 +01:00
Mateusz Pusz 0fc05850c8 refactor: trigonometric functions refactored for isq::angular_measure 2022-12-23 16:27:12 +01:00
Mateusz Pusz 62c3e5f2b6 fix: hypot implementation fixed 2022-12-23 13:44:40 +01:00
Mateusz Pusz 0caf998df1 refactor: reference::operator() return type constraints improved 2022-12-22 21:28:49 +01:00
Mateusz Pusz e61bfafd29 fix: consteval replaced with constexpr for quantity_spec::operator() 2022-12-22 21:28:03 +01:00
Mateusz Pusz 57d655062c refactor: quantity_spec::operator[] return type constraints improved 2022-12-22 21:26:51 +01:00
Mateusz Pusz 0a1ee606f3 feat: new quantity creation syntax support added 2022-12-22 17:50:41 +01:00
Mateusz Pusz be58a6e03a refactor: quantity_spec::operator[] return type constrained with Reference concept 2022-12-22 16:48:28 +01:00
Mateusz Pusz a32eb712da refactor: quantity_spec::operator[] made consteval 2022-12-22 15:58:37 +01:00
Mateusz Pusz 1ff048a70e refactor: unused reference operator removed 2022-12-22 15:56:14 +01:00
Mateusz Pusz 915ca82a0b refactor: __cpp_explicit_this_parameter implementation of number() added 2022-12-20 17:23:29 +01:00
Mateusz Pusz c51f6a9d29 refactor: RepresentationOf concept usage added + quantity concepts cleanup 2022-12-20 17:22:51 +01:00
Mateusz Pusz 979a00e704 fix: get_canonical_unit() fixed for powers of derived quantities 2022-12-19 20:35:22 +01:00
Mateusz Pusz 7a26125e16 refactor: public headers cleanup
Public headers should be only the ones that a user may have a need to actually include in his/her code.
2022-12-19 14:55:54 +01:00
Mateusz Pusz f1f1009c3f feat: is_scalar, is_vector, and is_tensor customization points added 2022-12-19 13:39:21 +01:00
Mateusz Pusz a96c34c17a fix: exp() implementation fixed 2022-12-19 12:49:15 +01:00
Mateusz Pusz 81a02837aa refactor: quantity_kind removed 2022-12-19 12:00:54 +01:00
Mateusz Pusz f37ec4c62b refactor: missing nodiscards added to functions in _unit.h_ 2022-12-16 18:18:14 +01:00
Mateusz Pusz 7889ab8f05 fix: missing TYPENAMEs added 2022-12-16 18:17:06 +01:00
Mateusz Pusz c266db9c24 fix: expression template two power simplification fixed 2022-12-16 18:16:41 +01:00
Mateusz Pusz 92c70f1a4e feat: quantity_spec support added 2022-12-16 18:15:48 +01:00
Mateusz Pusz d9b227ad30 feat: units now allow inheritance
For example to define `cgs::second` based on `si::second`
2022-12-04 15:04:37 +01:00
Mateusz Pusz 791cec3fad docs: missing comment added 2022-11-30 18:00:34 +01:00
Mateusz Pusz 02bf514355 feat: equality comparison support added for references 2022-11-30 18:00:04 +01:00
Mateusz Pusz 77a124a3d9 feat: quantity_of and weak_quantity_of now support references 2022-11-30 17:57:27 +01:00