7D38
- (!) feat:
phase_velocity
andgroup_velocity
aliases removed from ISQ by ISO - feat:
iec::bit
using-declared iniec::unit_symbols
- feat: common unit symbols now use
EQUIV{u1, u2, ...}
syntax - feat:
scaled_unit
symbol printing improved ([]
around the entire unit, small magnitude values do not use a power of10
anymore) - feat:
scaled_unit
does not have a priority overderived_unit
anymore - feat: fractional exponents support added to
mag_power
- feat: tag types are now required to be empty
- feat: magnitude text now obeys formatting parameters and knows how to print constants
- feat: added support for printing powers of magnitude constants
- feat:
SymbolicConstant
concept added - feat:
common_unit
selection algorithm improved to makerev + rad
returnrad
- feat: litre text symbol changed from
l
toL
to avoid ambiguity with1
- feat: alternative litre unit symbol
L
added to prevent ambiguities with1
- feat: Unicode unit symbols
- feat:
π
added as an alias forpi
- feat:
expr_pow
extended to remove redundancy in callers - feat:
DerivedDimensionExpr
,DerivedQuantitySpecExpr
andDerivedUnitExpr
removed - feat:
MagnitudeSpecExpr
andPowerVBase
removed and some functions renamed to limit possible ambiguity in overload resolution - feat:
std::is_object
constraint applied tovalue_type_t
- feat:
quantity_values
are now defined on top ofstd::chrono::duration_values
- feat: from now on truncation is not allowed in compound assignment
- feat(example): currency example now uses
chrono::time_point
and has better interfaces - feat(example):
treat_as_floating_point
specializations for examples' types removed - (!) refactor: all
iec
quantity specifications are now deprecated and moved toisq
- (!) refactor:
mag_constant
now takes a symbol and a value and the class deriving from it must be final - (!) refactor:
op==(U1, U2)
now checks for the same type (old behavior available asequivalent(U1, U2)
) +convertible
now verifies associatedquantity_spec
as well - (!) refactor:
ascii
->portable
,unicode
->utf8
, 'A' -> 'P' - (!) refactor:
char_traits
removed fromfixed_string
- (!) refactor: convertibility traits and concepts refactored to use
bool
flags instead of wrappers - (!) refactor: tag types should not expose their members
- refactor:
convertible(U1, U2)
implementation simplified - refactor:
abs
moved toconstexpr_math.h
- refactor:
unit_symbol_impl
simplified - refactor:
unit_symbol_formatting
moved to a dedicated header file - refactor:
shorten_T
removed - refactor: magnitude interface cleanup
- refactor:
derived_from_the_same_base_dimension
no longer needed - refactor:
one_of
usage removed from thefixed_string
deduction guides - refactor:
quantity.h
is not needed inconstants.h
(unit.h
is enough) - refactor:
SameDimension
concept is not needed and can be inlined inDimensionOf
- refactor: framework Unicode symbols are now spelled using their codes
- refactor:
QuantitySpecWithNoSpecifiers
removed andkind_of
definition simplified - refactor:
treat_as_floating_point
simplified and extended to usestd::chrono::treat_as_floating_point_v
- refactor:
wrapped_type_t
reusesstd::indirectly_readable_traits
- refactor:
expr_fractions
takes directOneType
type now instead of a trait - refactor: Unicode symbols description reworked based on the latest SG16 recommendations
- refactor:
Mutable
concept applied toquantity
andquantity_point
- refactor:
explicit
cleanup for deduction guides ofquantity
andquantity_point
- refactor:
point_origin_interface::op-
cleanup - refactor:
QuantityLikeImpl
refactored to conform to API Reference by @JohelEGP - refactor:
get_complexity
refactored to be 0-based and not account for a number of arguments in a list - refactor:
get_complexity
refactored to returned maximum complexity of an element (instead of the sum of elements) - refactor(test):
derived_quantity
refactored tochild_quantity
- fix: missing
are_ingredients_convertible
overloads added - fix: constraints for magnitude added for
scaled_unit
and fixedcommon_unit
instantiating it incorrectly - fix: according to ISO 80000-16
%
should always be prefixed with space - fix: extraneous space in unit symbol having only denominators removed
- fix: explicit cast added to
less
for magnitudes to fix clang-arm64 conversion error - fix:
common_unit
handling fixed for some corner cases - fix: math functions constraints fixed
- fix:
operator*(M, U u)
fixed forU
beingscaled_unit
- fix: subsumption of
QuantityKindSpec
fixed - fix:
ValuePreservingTo
fixed to applystd::remove_cvref_t
onFromRep
- fix: compound assignment operations on quantities now behave the same as on the underlying representation types
- fix:
QuantityConvertibleTo
used inquantity_point
compound assignment - fix:
convertible_kinds
implementation fixed - fix(tests): freestanding build fixed
- test: unit tests for the inverse of
mag_constant
added - test: Unicode symbols used in unit tests
- test: more
std::chrono
tests added - test: commutativity tests added to ISQ
- test: one
kind_of
test added to reference tests - test:
pow<0>
andpow<1>
tests added for dimensions - test: more
get_common_quantity_spec
tests added - build: setting of some test_package CMake options enabled only for a
cxx_modules
build - ci:
sudo apt update
added for documentation.yml in hope that it will resolve missing system packages issue - ci: MSVC added to the CI
- ci: the latest not-released docs will use "HEAD" as a version from now on
- ci: documentation action should run on a new tag as well
- ci: documentation action limited only to commits that change documentation files
- ci: non-documentation actions should not run on tags
- docs: missing systems added to the "Project Structure" chapter
- docs: graphs of ISQ kind hierarchies improved
- docs: category of the ISO meeting reports changed to "WG21 Updates"
- docs: blog comments support added
- docs: Part 1-5 articles of the ISQ series added
- docs: "Symbols of scaled units" chapter added + minor updates to scaled and common units chapters
- docs: conan profile updated to present gcc-14 instead of gcc-12 which is no longer supported
- docs: "Why derived units order is not preserved from the multiplication?" chapter added to FAQ
- docs: "Many shades of the same unit" extended with a note about the derived units order
- docs: API Reference now presents index.html instead of full.hml