Commit Graph
79 Commits
Author SHA1 Message Date
Mateusz Pusz f31b26b5e5 Design cleanup
- unknown_unit added
- examples refactored
- base_type renamed to downcast_base_type
- scaled_unit renamed to named_scaled_unit
- detail::reference_unit renamed to scaled_unit
- quantity_test cleanup
2019-12-06 12:18:39 +01:00
Mateusz Pusz c48bfe2098 quantity refactored and quantity_test enabled 2019-12-04 17:46:19 +01:00
Mateusz Pusz 3d2c613dcb quantity operators * and / constrains weaken to one magma 2019-11-16 18:29:32 +01:00
Mateusz Pusz d4976caf1d operator- constraints fixed 2019-11-16 18:28:13 +01:00
Mateusz Pusz 9c6229302d Small code cleanup 2019-11-16 18:27:31 +01:00
Mateusz Pusz 57e464cc99 quantity constraints refactored 2019-11-15 20:20:25 +01:00
Mateusz Pusz 2328a26992 Downcasting support added to quantity_cast (resolves #26) 2019-11-09 14:42:06 +00:00
Mateusz Pusz 4d1e225d9e UnitRep renamed to QuantityRep 2019-11-09 14:16:37 +00:00
Mateusz Pusz 04cbeb841e Disabled prefix/postfix increment/decrement operators (resolves #18) 2019-11-09 14:09:30 +00:00
Mateusz Pusz ad895b4651 Small refactoring of QuantityOf 2019-11-08 14:35:18 +00:00
Mateusz Pusz 9871cf0ed7 UnitRep extended 2019-11-06 21:51:40 +00:00
Mateusz Pusz e4cd4ea8c8 UnitRep concept introduced 2019-11-06 20:17:16 +00:00
Mateusz Pusz b5b2c54fe8 Basic std::fmt support added 2019-11-05 20:05:11 +00:00
Mateusz Pusz 91bcfedf1e Deduced units symbols refactoring started 2019-11-04 06:45:56 +00:00
Mateusz Pusz 7da63eedfd quantity refactoring 2019-11-02 13:58:10 +01:00
Mateusz Pusz 2bde0e62b2 Downcasting facility refactoring 2019-11-02 13:54:43 +01:00
Mateusz Pusz 53720c82b8 fmt support started 2019-10-18 23:50:43 +02:00
Mateusz Pusz b864461636 Prefixed units support redesigned 2019-10-18 15:34:46 +02:00
Mateusz Pusz 95028d10a7 gcc-10 enabled 2019-10-17 18:22:51 +02:00
Mateusz Pusz 3e30c779a6 coherent_derived_unit and custom prefixes support added 2019-10-17 10:16:44 +02:00
Mateusz Pusz 9a9abca81d Text output support added for quantity 2019-10-16 17:04:41 +02:00
Mateusz Pusz fa2bdd1e08 More 'todo' -> 'TODO' changes 2019-10-15 21:20:01 +02:00
Mateusz Pusz 2bcc5fa4e5 Small quantity formatting cleanup with clang-format 2019-10-15 11:29:25 +02:00
Mateusz Pusz 040c703461 Scalar constraint added for quantity operators 2019-10-08 21:26:18 +02:00
Mateusz Pusz 458ac0918b Scalar constraint added to quantity constructor 2019-10-08 21:20:37 +02:00
Mateusz Pusz 4ba818bb78 quantity_cast_impl refactored to use compile time branching rather than concepts 2019-10-08 21:20:06 +02:00
Mateusz Pusz 3f8cee0931 Scalar concept constraints reversed 2019-10-08 21:19:04 +02:00
Mateusz Pusz 2fddb494d3 _t postfix removed from the interface (resolves #9) 2019-10-04 16:22:49 +02:00
Mateusz Pusz 7c4e5d086a Merge pull request #17 from jansende/patch-2
Optimized floating point unit conversions
2019-10-01 20:08:01 +02:00
Mateusz Pusz 12200f6f40 operator% constrained to integral types only (resolves #16) 2019-10-01 16:29:42 +02:00
Jan Sende a11f5a92b6 Optimized floating point unit conversions
- Divisions are now made at compile time.
- Only runtime multiplications are left.
2019-09-30 23:38:33 +02:00
Mateusz Pusz f373adb42f Not needed static_assert removed from quantity class template 2019-09-30 09:07:15 +02:00
Mateusz Pusz f9d6b53b72 [[nodiscard]] added to quantity_cast and DESIGN.md update with the new quantity_cast functionality 2019-09-30 09:05:50 +02:00
Jan Sende dc85dd84b9 Made quantity_cast more versatile
- One can now change the unit type without changing the representation type.
- One can now change the representation type without changing the unit type.
- Had to implement std::common_type<my_value, my_value> to still compile
  integration tests. (It implicitly converted to another representation
  before.)
2019-09-30 01:45:38 +02:00
Mateusz Pusz 952b19c2ed bool removed from concepts definitions as gcc-9.1 supports this syntax already 2019-09-28 19:10:06 +02:00
Mateusz Pusz 2e1ce83024 Downcasting facility refactored so the user does not have to write the boilerplate code anymore 2019-09-26 22:30:57 +02:00
Mateusz Pusz 0cffcf7849 downcasting_traits renamed to downcast_traits
- downcasting_traits -> downcast_traits
- downcasting_traits_t -> downcast_traits_t
- downcast_from -> downcast_base_t
- downcast_to removed
2019-09-20 18:36:14 +02:00
Mateusz Pusz c3d7359ca3 units removed from a std::experimental namespace 2019-09-18 21:55:16 -06:00
Mateusz Pusz 6390eba786 Dimensions comparison improved 2019-09-18 21:24:40 -06:00
Mateusz Pusz 90a7dbe3fa quantity_cast<U, Rep> support added 2019-09-16 00:21:58 -06:00
Mateusz Pusz bebaa5482c QuantityOf concept added 2019-09-10 22:33:54 +02:00
Mateusz Pusz 497a13da1a Dependency on gsl-lite removed as it causes issues with compiler-explorer 2019-09-10 20:07:48 +02:00
Mateusz Pusz eb5ff0bf99 cmcstl2 library updated to 2019.08.07 2019-08-08 13:49:51 +02:00
Mateusz Pusz 9452cf5f3c Concepts usage removed from deduced template arguments and partial specializations 2019-08-06 10:35:43 +02:00
Mateusz Pusz 9c979fc03a Missing op*() added 2019-08-05 18:22:53 +02:00
Mateusz Pusz 98203afa29 units moved to std::experimental namespace 2019-07-24 11:58:15 +02:00
Mateusz Pusz eeb4c9c951 Dimension template parameter removed from quantity 2019-07-19 13:49:49 +02:00
Mateusz Pusz 03a22cba2a upcasting renamed to downcasting 2019-07-18 23:24:24 +02:00
Mateusz Pusz 9c0f2c6878 Custom ratio type implemented 2019-05-28 16:17:48 +02:00
Mateusz Pusz 7bcc5c7b0b common_ratio refactored 2019-05-28 15:01:50 +02:00