Commit Graph
50 Commits
Author SHA1 Message Date
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