Releases: mpusz/mp-units
Releases · mpusz/mp-units
0.5.0
- Major refactoring and rewrite of the library
- Units are now independent from dimensions
- Dimensions now depend on units (base or coherent units are provided in a class template)
- Quantity gets a Dimension template parameter again (as unit does not provide information about
its dimension anymore) - Spaceship operator support added
- Added official CGS system support
- Added official data information system support
- Repository file tree cleanup
ratio
refactored to containExp
template parameter (thanks a lot @oschonrock!)- SI fundamental constants added
q_
prefix applied to all the UDLs (thanks @kwikius)unknown_unit
renamed tounknown_coherent_unit
- Project documentation greatly extended and switched to Sphinx
- A few more usage examples added
- ASCII-only output support added (thanks @yasamoka)
- Representation values formatting extended (thanks @rbrugo)
- Output streams formatting support added
- Linear algebra from
std::experimental::math
support added - Named SI units and their dimensions added (thanks @rbrugo
- libfmt updated to 6.2.0
- Added absolute functions and epsilon to math.h (thanks @mikeford3)
- Added a lot of prefixes to named units and introduced
alias_unit
(thanks @yasamoka) - Linking with Conan targets only when they exists (#98)
- All physical dimensions and units put into
physical
namespace - CMake improvements
- Velocity renamed to speed
Many thanks to GitHub users @oschonrock, @kwikius, and @i-ky for their support in drafting a new library design.
0.4.0
- Support for derived dimensions in
exp
added - Added
pow()
andsqrt()
operations on quantities units
removed from astd::experimental
namespace- Downcasting facility refactored so the user does not have to write the boilerplate code anymore
- From now on base dimensions should inherit from
base_dimension
class template - Added unit symbols definitions to
base_dimension
and derived units - Added support for
operator<<
onquantity
fmt
support added- Derived unit factory helpers refactored
- Refactored the way prefixed units are defined
0.3.1
CppCon 2019 design
- The design as described on CppCon 2019 talk (https://youtu.be/0YW6yxkdhlU)
- Applied the feedback from the Cologne evening session
upcasting_traits
renamed todowncasting_traits
Dimension
template parameter removed from quantity
units
moved to astd::experimental
namespace- Leading underscore prefix removed from UDLs
- Added a few more derived dimensions
meter
renamed tometre
- Missing
operator*
added - Predefined dimensions moved to a dedicated directory
dimension_
prefix removed from names of derived dimensions- cmcstl2 library updated to 2019.09.19
base_dimension
is a value provided asconst&
to theexp
type- integrated with Compiler Explorer
- gsl-lite dependency removed
- Fractional dimension exponents support added
QuantityOf
concept introducedquantity_cast<U, Rep>()
support added
C++Now 2019 design
- The design as described on C++Now 2019 talk (https://youtu.be/wKchCktZPHU)
- Added C++20 features supported by gcc-9.1 (
std::remove_cvref_t
, down with typename,std::type_identity
) - Compile-time performance optimizations (
type_list
,common_ratio
,ratio
,conditional_t
)