Mateusz Pusz
a63b5ab111
std::ratio<1> set as a default for unit
2019-05-09 19:54:18 -06:00
Mateusz Pusz
1bbbd02f1c
Concepts workaround added to operator/()
2019-05-08 20:43:52 -06:00
Mateusz Pusz
85ab642fc4
Scalar concept added
2019-05-08 19:56:24 -06:00
Mateusz Pusz
7b186e31cc
Minor file formatting
2019-05-08 09:06:20 -06:00
Mateusz Pusz
e9d1ae2719
Concepts-related hacks added to import them to std namespace
2019-05-08 09:05:31 -06:00
Mateusz Pusz
cf2370b8fe
Limited number of places where common_type is being used on quantities
...
For some specific mathematical types different type might be returned from division, mulitplication, substraction, etc.
std::common_type<> does not have an information which operation is being performed. It is much better to just get
the actual result of specific operation.
2019-05-07 21:03:58 -06:00
Mateusz Pusz
cdf9f929c3
Refactoring part of quantity interface (similar changes applied to the rest of functions make gcc crash)
2019-05-07 17:39:21 -06:00
Mateusz Pusz
2d52782407
type_list moved from mp to units namespace
2019-05-07 08:28:02 -06:00
Mateusz Pusz
0e36a6025f
tools.h spread to multiple files
2019-05-07 08:25:18 -06:00
Mateusz Pusz
0d68efdcd7
quantity_cast fixed
2019-04-16 10:38:16 +02:00
Mateusz Pusz
ed964292c7
quantity_cast() made constexpr
2019-04-16 10:36:07 +02:00
Mateusz Pusz
0adb50ab0e
merge_dimension_t helper template arguments fixed
2019-04-15 18:24:29 +02:00
Mateusz Pusz
adcd1e2f1b
one() added to quantity_values and quantity
2019-04-11 20:54:27 +01:00
Mateusz Pusz
f995f5ce60
Prefixes support added
2019-04-11 18:57:29 +01:00
Mateusz Pusz
a49ef2d055
Area support added
2019-04-11 13:36:54 +01:00
Mateusz Pusz
709e1190af
derived_unit helper added
2019-04-11 13:36:06 +01:00
Mateusz Pusz
d78508a02f
Refactored units definitions, added the remaining SI base units, refactored header includes
2019-04-09 21:31:09 +01:00
Mateusz Pusz
dd9f1b20cb
literals namespace made inline
2019-04-09 17:22:15 +02:00
Mateusz Pusz
fe158440bb
Upcasting facility refactored by adding additional alias templates
2019-04-09 16:53:34 +02:00
Mateusz Pusz
941401de31
US customary length units added
2019-04-09 13:34:55 +02:00
Mateusz Pusz
e0aa10e133
Number concept extended with requirements on comparison operators
2019-04-05 17:49:32 +02:00
Mateusz Pusz
f94a7b92ea
GSL preconditions added (to be replaced with C++20 Contracts)
2019-04-05 17:46:01 +02:00
Mateusz Pusz
15dd7462ec
upcastable renamed to upcast_base
2019-04-05 17:45:09 +02:00
Mateusz Pusz
6646051e65
Hand written concepts replaced with Casey Carter's repository
2019-04-05 17:43:42 +02:00
Mateusz Pusz
5b135b1251
Default representation changed to double
2019-04-04 10:40:59 +02:00
Mateusz Pusz
310541c9f1
upcastable class template added to provide the base class for upcastable classes
2019-03-06 18:12:59 -10:00
Mateusz Pusz
776c91cf64
Compilation issues fixed
2019-01-14 19:54:19 +01:00
Mateusz Pusz
925239cb31
Small constraints cleanup
2019-01-14 19:38:51 +01:00
Mateusz Pusz
c997208fa7
[[nodiscard]] added
2019-01-14 19:37:25 +01:00
Mateusz Pusz
26eb30df03
merge_dimension added
2019-01-14 19:28:51 +01:00
Mateusz Pusz
722402f240
noexcept added to zero(), min(), and max() according to P0972
2018-12-01 21:53:56 +01:00
Mateusz Pusz
ee7518d0a1
dimension_traits and unit_traits merged as upcasting_traits
2018-11-17 12:39:45 +01:00
Mateusz Pusz
45f7b4f19f
static_assert replaced with a concept constraint in unit
2018-11-17 12:38:45 +01:00
Mateusz Pusz
467d548ae5
Additional type list sorting added to make_dimension
2018-11-17 12:37:33 +01:00
Mateusz Pusz
58e1eefd3b
Inheritance hierarchy helpers for dimension and unit made more descriptive
2018-11-15 05:29:01 +01:00
Mateusz Pusz
db64a3e6a1
More constraints added for Dimension and Unit concepts
2018-11-15 05:27:16 +01:00
Mateusz Pusz
e866985668
Strong units support added
2018-11-14 22:36:02 +01:00
Mateusz Pusz
7205dc2cb9
Strong dimensions support added
2018-11-14 22:14:44 +01:00
Mateusz Pusz
297b71efcf
Concepts usage improved
2018-11-10 17:10:30 -08:00
Mateusz Pusz
94fd74000c
Type traits changed to variable templates
2018-11-10 17:09:11 -08:00
Mateusz Pusz
4e74617e2a
Number concept used for representation
2018-10-19 13:02:58 +02:00
Mateusz Pusz
4796d777b9
Centimeters support added
2018-10-16 15:40:20 +02:00
Mateusz Pusz
6dd07002c2
Unit specific concepts introduced
2018-09-29 18:19:25 -07:00
Mateusz Pusz
4409fa01ca
Library refactoring based on Walter Brown's feedback
2018-09-29 18:08:02 -07:00
Mateusz Pusz
2514b669c9
Type List concept fixed
2018-09-28 14:25:12 -07:00
Mateusz Pusz
8d42ed7eec
Type List interface made generic
2018-09-28 14:20:23 -07:00
Mateusz Pusz
39bc536332
Concepts definition fixed
2018-09-28 14:18:43 -07:00
Mateusz Pusz
40ab45b506
Code cleanup
2018-09-28 10:53:21 -07:00
Mateusz Pusz
312dbf4f81
Units library moved to concepts world
2018-09-28 07:47:37 -07:00
Mateusz Pusz
4b376e3c2e
Initial version
2018-08-22 12:11:19 +02:00