Johel Ernesto Guerrero Peña
8d8f73c0cf
refactor: update hacks for LLVM 14
2021-09-14 17:34:15 +02:00
Mateusz Pusz
e6cfd4e69b
build: clang-13 support added
2021-08-10 13:54:39 +02:00
Mateusz Pusz
ed5749a52b
refactor: quantity op+() and op-() reimplemented in terms of reference rather then quantity types
...
`common_quantity`, `common_quantity_for`, `common_quantity_point`, `common_quantity_kind`, and `common_quantity_point_kind` removed
Resolves #290
2021-07-27 14:40:05 +02:00
Johel Ernesto Guerrero Peña
8312b6e463
fix: factor out requires-expression to concept for MSVC
2021-06-30 12:26:56 +02:00
Johel Ernesto Guerrero Peña
80eefec97c
fix: add quantity_point::origin, like std::chrono::time_point::clock
2021-06-29 20:44:27 +02:00
Ralph J. Steinhagen
7ed29807a6
removed superfluous requires statement in is_quantity<T>
2021-06-29 20:31:06 +02:00
Ralph J. Steinhagen
8e1539bf22
added inheritance unit-test and made is_quantity<T> more specific
2021-06-29 20:31:06 +02:00
Mateusz Pusz
95ac869522
extended is_quantity<T> to support quantity-derived classes
...
N.B. inheritance is preferred to composition/delegate class to avoid duplication and also inherent the various required operators ('+','-',..., '+=', ...) for details see discussion #271
2021-06-29 20:31:06 +02:00
Mateusz Pusz
0174572645
refactor: merged op% of quantity_kind into one
...
Relates to #221
2021-05-11 19:40:58 +02:00
Mateusz Pusz
c95e20c7ea
refactor: quantity_kind constructors merged into one
...
Relates to #221
2021-05-11 19:39:50 +02:00
Mateusz Pusz
b00cff8ec8
refactor: quantity_point construction now relays only on a construction of a quantity_type
...
Relates to #221
2021-05-11 19:38:14 +02:00
Mateusz Pusz
8540389530
fix: op% fixed for the same argument types case
2021-05-11 19:36:07 +02:00
Mateusz Pusz
1783d243da
fix: quantity modulo arithmetics fixed
...
Resolves #231
2021-05-11 15:03:04 +02:00
Mateusz Pusz
b894ee6558
refactor: 💥 got rid of a noble_derived_unit
...
Resolves #280
2021-05-10 18:03:47 +02:00
Mateusz Pusz
7ead50acfc
refactor: derived_kind template parameters reordered to be compatible with a derived_unit
...
Resolves #229
2021-05-10 16:45:38 +02:00
Mateusz Pusz
8e88f06380
refactor: *deduced_unit renamed to *derived_unit
2021-05-10 15:56:48 +02:00
Mateusz Pusz
2c8c6c2e98
refactor: quantity cration helpers are not opt-out rather than opt-in
...
Resolves #277
2021-05-09 15:52:20 +02:00
Mateusz Pusz
6d39459cbc
perf: rvalue references support added for constructors and getters
...
Resolves #275
2021-05-03 19:44:50 +02:00
Mateusz Pusz
e39ef2f850
fix: reference redefined in terms of dimension and unit
2021-04-09 12:52:15 +02:00
Mateusz Pusz
fadec03cee
feat: reference added to quantity_kind, quantity_point, and quantity_point_kind
2021-04-09 08:26:24 +02:00
Mateusz Pusz
0ac00534d6
feat: equality comparison support added for reference
2021-04-08 18:54:49 +02:00
Mateusz Pusz
bd862d3517
refactor: Fine-grained references support added
2021-04-07 11:26:45 +02:00
Mateusz Pusz
b982921d27
refactor: References are now guarded UNITS_REFERENCES with (ON by default) + examples duplicated to subdirectories
...
Now References can be disabled to meassure a compile time impact. Also the same examples are now provided in two subdirectories to be able to easily compare the pros and cons of every quantity construction technique.
2021-04-06 15:57:28 +02:00
Mateusz Pusz
c3659dbb47
refactor: UNITS_UDLS renamed to UNITS_LITERALS
...
Also now the existence of the preprocessor flag is enough to trigger the feature (`#ifdef` instead of `#if`)
2021-04-06 13:33:27 +02:00
Mateusz Pusz
9054420d08
build: Added an option to disable UDLs support
...
Now it is time to get rid of UDLs from tests and examples and then disable them by default.
2021-04-01 09:36:55 +02:00
Mateusz Pusz
309da80c32
refactor: unit_text.h header include moved to text-related targets
2021-03-31 12:25:26 +02:00
Mateusz Pusz
441db47928
fix: MSVC Release build fixed + pragmas usage refactored
2021-03-30 20:00:23 +02:00
Mateusz Pusz
8a26eaf420
fix: VS build fixed
2021-03-30 14:47:05 +02:00
Mateusz Pusz
800dade31c
fix: fixed_string fixed for clang
2021-03-30 14:26:24 +02:00
Mateusz Pusz
37cfc53d1d
refactor: IWYU applied to the source files
...
`alternative_namespaces` examples left out as I consider them a subject for removal in the nearest future.
2021-03-30 13:21:05 +02:00
Mateusz Pusz
5251a8a241
fix: Unused <functional> header removed from basic_concepts.h
2021-03-23 19:42:08 +01:00
Mateusz Pusz
88e642ec74
refactor: QuantityValue concept renamed to Representation
2021-03-19 07:53:18 +01:00
Mateusz Pusz
ca7762177f
refactor: quantity::value_ renamed to quantity::number_
...
Refers to #259
2021-03-19 07:01:12 +01:00
Mateusz Pusz
901b09fd52
refactor: quantity::count() renamed to quantity::number()
...
Resolves #259
2021-03-19 06:47:37 +01:00
Johel Ernesto Guerrero Peña
f0cfc14b83
refactor: remove operator/(Rep, reference)
...
Addresses https://github.com/mpusz/units/pull/261#discussion_r597289047 .
2021-03-19 06:31:12 +01:00
Johel Ernesto Guerrero Peña
376c402fa0
fix: remove implied support for unallowed syntaxes on quantity kinds and references
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
5914ae2260
docs(src): expand on non-allowed syntaxes
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
ddbbb8ac55
style: remove braces from value
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
ced4b3bbed
refactor: make reference's interface hidden friends
...
Addresses:
- https://github.com/mpusz/units/pull/261#discussion_r597135187
- https://github.com/mpusz/units/pull/261#discussion_r597152408
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
234337d310
refactor: use perfect forwarding for make functions
...
Addresses https://github.com/mpusz/units/pull/261#discussion_r597131272 .
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
0b87e7c99c
refactor!: require explicit number for references
...
Addresses:
- https://github.com/mpusz/units/pull/261#discussion_r596651065
- https://github.com/mpusz/units/pull/261#discussion_r596664550
- https://github.com/mpusz/units/pull/261#discussion_r597132294
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
6d9abe97e5
docs: rephrase 'unit constant' to 'quantity reference'
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
0c09871bca
fix: do not forward declare reference's interface on MSVC
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
018c5837f9
refactor: rename unit_constants to references
...
Addresses https://github.com/mpusz/units/pull/261#discussion_r596663522 .
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
1068f7d182
refactor: use values rather than types for reference
...
Addresses https://github.com/mpusz/units/pull/261#discussion_r596661260 .
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
4622979ed9
refactor: make the interface of reference more visible
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
dd1a46cd35
style: mark comment as TODO
...
Addresses https://github.com/mpusz/units/pull/261#discussion_r596641518 .
2021-03-18 22:37:25 +01:00
Johel Ernesto Guerrero Peña
9a520edfe9
refactor!: replace one_rep with reference<D, U>
2021-03-18 22:37:25 +01:00
Mateusz Pusz
f2b52e9743
Merge branch 'master' of github.com:mpusz/units
2021-03-17 13:46:59 +01:00
Mateusz Pusz
37473eb8ad
refactor: core-io and core-fmt separate modules added
2021-03-17 13:46:28 +01:00