Johel Ernesto Guerrero Peña
69fac6b695
test: don't support compiling quantity_test.cpp with downcasting off
2021-03-15 14:26:44 +01:00
Johel Ernesto Guerrero Peña
3002c5673d
test: compile quantity_test.cpp with -DUNITS_DOWNCAST_MODE=0
2021-03-15 14:24:26 +01:00
Mateusz Pusz
7c9e35dcd6
refactor: explicit usage unified accross the library
2021-03-13 19:55:18 +01:00
Johel Ernesto Guerrero Peña
017183653d
feat: full-on dimensional analysis between related quantity kinds
2021-02-21 00:17:03 +01:00
Mateusz Pusz
dad9b4f166
fix: user-provided CTAD guides fixed
...
Resolves #227
2021-02-20 17:19:43 +01:00
Mateusz Pusz
a41b3a42fe
fix: gsl_ExpectsAudit() added for all relevant quantity and quantity_kind operations
...
Resolves @218
2021-02-20 17:17:45 +01:00
Johel Ernesto Guerrero Peña
00d182e133
fix: operators to behave like the underlying type's
2021-02-16 19:25:13 +01:00
Johel Ernesto Guerrero Peña
a168f49b66
fix: lack of compound assignment from dimensionless<one>
2021-02-15 17:07:55 +01:00
Johel Ernesto Guerrero Peña
efeacca9ee
fix: restore user-warnings within the library implementation
2021-02-06 21:20:31 +01:00
Mateusz Pusz
3ce9a5ba67
refactor: Not needed parnetheses removed
2021-01-06 19:00:10 +01:00
Mateusz Pusz
f4ff02f8e5
fix: quantity's compound operators fixed to behave like ints do
2021-01-06 16:44:32 +01:00
Mateusz Pusz
b1e98a97d0
refactor: ms-gsl replaced with gsl-lite
2021-01-05 17:47:07 +01:00
Mateusz Pusz
6539b492a3
fix: std::chrono::duration support fixed
...
Resolves #198
2021-01-04 13:05:26 +01:00
Johel Ernesto Guerrero Peña
5c6cd1b26b
fix: parameter constness in constraints
2021-01-03 19:17:43 +01:00
Mateusz Pusz
32391866be
refactor: Limited the equivalent trait usage
2020-12-28 18:40:58 +01:00
Mateusz Pusz
55e5cac33f
refactor: More stream-specific implementation moved to quantity_io.h
2020-12-28 16:15:19 +01:00
Mateusz Pusz
cff718301c
refactor: quantity_io added
2020-12-28 15:18:36 +01:00
Mateusz Pusz
0fb821a392
fix: Commutativity no longer required for operator*
...
Resolves #185
2020-12-27 12:26:40 +01:00
Mateusz Pusz
68058cfb25
fix: Atomic constraints fixed for safe_convertible_to_
2020-12-22 14:37:03 +01:00
Mateusz Pusz
d64d26a4c4
refactor: interoperability with quantity-like types simplified
...
Type trait specialization for each `quantity` type is not needed anymore.
Relates to #33 .
2020-10-07 14:29:12 +02:00
Mateusz Pusz
2dd8c90250
feat: ✨ interoperability with std::chrono::duration and other units libraries
...
Resolves #33
2020-10-07 12:02:08 +02:00
Mateusz Pusz
cfc90f4aac
refactor: 💥 basic_concepts, quantity and quantity_cast refactored
...
BREAKING CHANGE: ScalableNumber renamed to QuantityValue
Resolves #107
2020-10-06 18:17:52 +02:00
Mateusz Pusz
920c396742
feat: value initialization for quantity value removed (left with a default initialization)
2020-09-24 16:10:07 +02:00
Mateusz Pusz
a098f97c08
feat: CTAD for dimensionless quantity added
2020-09-23 16:34:13 +02:00
Mateusz Pusz
cb86cd2bcd
fix: regression in quantity::op<<() for the case of std::setw() fixed
2020-09-15 08:55:35 +02:00
Mateusz Pusz
8687527b34
perf: temporary string creation removed from quantity::op<<()
2020-09-15 07:30:06 +02:00
Mateusz Pusz
ca11f4ff5d
fix: ms-gsl Expects commented out for runtime code
...
Refers to #165
Resolves #164
2020-09-14 20:09:51 +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
6f88a03285
fix: ambiguity of operators in case of unknown_dimension resolved
2020-09-10 13:02:33 +02:00
Mateusz Pusz
44e8d39102
feat: dimensionless quantity implicit construction enabled for DOWNCAST_MODE=OFF
2020-09-10 11:34:58 +02:00
Mateusz Pusz
e367afed71
Merge branch 'downcasting_2.0'
2020-09-09 20:31:03 +02:00
Mateusz Pusz
3e9d5ca189
refactor: ♻️ unitless renamed to one
...
Resolves #27
2020-09-09 11:20:55 +02:00
Mateusz Pusz
5d62dda479
refactor: non-zero contracts check in quantity improved
...
Thanks @johelegp!
2020-09-08 22:55:41 +02:00
Mateusz Pusz
9a49df7222
refactor: 💥 Scalar concept renamed to ScalableNumber
...
Resolves #114
2020-09-08 21:17:09 +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
563b358d5e
feat!: 💥 dimensionless quantities refactored
...
Dimensionless quantities are now represented by quantity types rather
than by plain representation types. Only dimensionless quantities with
`unitless` unit are implicitly convertible from representation types.
`units::exp()` now is a function doing std::exp() on a representation
type (previous `units::exp` class template was renamed to
`units::exponent`).
BREAKING_CHANGE: gcc-9.3 support removed
BREAKING_CHANGE: `exp` and `Exp` renamed to `exponent` and `Exponent`
Resolves #27
Resolves #42
2020-09-08 11:02:16 +02:00
Mateusz Pusz
00cb2cd6c3
refactor: cast_ratio now uses quantity_ratio
2020-09-07 11:11:12 +02:00
Johel Ernesto Guerrero Peña
ca1867c9b2
refactor!: pow functions as detail
2020-09-06 09:45:24 +02:00
Johel Ernesto Guerrero Peña
2f5be094b2
refactor: pow10 functions to pow.h
2020-09-06 09:45:24 +02:00
Mateusz Pusz
b318e8d039
VS2019 support added
2020-09-04 23:06:57 +02:00
Mateusz Pusz
51ffbadf74
gcc-9.3 compilation fixed
2020-09-04 22:11:24 +02:00
Mateusz Pusz
5c98924efb
Downcasting reworked to allow OFF and AUTO modes
2020-08-19 13:37:57 +02:00
Mateusz Pusz
deb1ee6efa
Truncating conversions disalowed for *=, /=, +=, amd -= operators ( resolves #137 )
2020-08-16 13:29:40 +02:00
Johel Ernesto Guerrero Peña
69dddaf1f6
feat: nodiscard for postfix increment and decrement
2020-08-16 12:32:56 +02:00
Mateusz Pusz
d171f5451e
NTTP ratio support added ( resolves #49 )
2020-06-27 19:15:46 +02:00
Mateusz Pusz
0c0d097586
C++20 comparison operators refactored
2020-06-19 19:37:18 +02:00
Mateusz Pusz
fea072aeb5
warnings.cmake refactored
2020-05-29 10:07:01 +02:00
Mateusz Pusz
5dd9eaac87
Redundant constraints removed ( resolves #109 )
2020-05-24 22:49:53 +02:00
Mateusz Pusz
d19825e14c
Numeric concepts removed from repo (no longer used)
2020-03-28 12:08:37 +01:00
Mateusz Pusz
ab1cc4b8e7
Overconstrained quantity operations relaxed
2020-03-25 15:04:33 +01:00