64 Commits
Author SHA1 Message Date
Mateusz Pusz 7cbeb35e17 Double sorting of exponents removed 2019-07-18 10:01:42 +02:00
Mateusz Pusz 25a470dcb7 std::conditional_t replaced with custom implementation 2019-05-28 16:21:28 +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
Mateusz Pusz c43871578e type_list refactored 2019-05-28 14:35:25 +02:00
Mateusz Pusz 9d5e46cd53 Custom type_traits header added 2019-05-28 14:33:57 +02:00
Mateusz Pusz 4282bd0cc7 Project version updated to 0.2.0 2019-05-18 13:22:49 +02:00
Mateusz Pusz 82263d8562 Hacked std::type_identity removed 2019-05-18 13:20:21 +02:00
Mateusz Pusz 4b6a7ebb39 Down with typename 2019-05-18 13:19:23 +02:00
Mateusz Pusz d75377ccaf std::decay_t replaced with std::remove_cvref_t 2019-05-18 13:19:23 +02:00
Mateusz Pusz 348dc236bd 0.1.0 released for gcc-8 2019-05-18 13:01:09 +02:00
Mateusz Pusz c30673fb7e Compiler version specific configuration support added 2019-05-18 12:59:08 +02:00
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 125ecc56c8 units package renamed to mp-units/mp::units 2019-04-07 08:33:13 +02:00
Mateusz Pusz 8d86d9401f units building and packaging redesigned + Travis CI support 2019-04-06 23:25:35 +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