|
| constexpr | delta ()=default |
| | Constructs a zero delta.
|
| |
| | delta (const delta &)=default |
| |
template<typename Rep2 >
requires std::convertible_to<const Rep2&, rep> && (treat_as_inexact_v<rep> || !treat_as_inexact_v<Rep2>) |
| constexpr | delta (const Rep2 &r) |
| | Constructs from a tick count.
|
| |
template<typename Rep2 , typename Precision2 >
requires std::convertible_to<const Rep2&, rep> && detail::_lossless_conversion<Rep2, Precision2, rep, precision> && detail::_quantity_castable<delta<Rep2, Precision2>, delta> |
| constexpr | delta (const delta< Rep2, Precision2 > &temp) |
| | Constructs from another delta with different representation or precision.
|
| |
template<typename Rep2 , typename Precision2 >
requires (!detail::_lossless_conversion<Rep2, Precision2, rep, precision> || !std::convertible_to<const Rep2&, rep>) && detail::_quantity_castable<delta<Rep2, Precision2>, delta> |
| constexpr | delta (const delta< Rep2, Precision2 > &d) |
| | Explicit constructor for lossy conversions.
|
| |
| | ~delta ()=default |
| |
| delta & | operator= (const delta &)=default |
| |
| constexpr rep | count () const |
| | Returns the tick count.
|
| |
| constexpr delta< typename std::common_type< rep >::type, precision > | operator+ () const |
| |
| constexpr delta< typename std::common_type< rep >::type, precision > | operator- () const |
| |
| constexpr delta & | operator++ () |
| |
| constexpr delta | operator++ (int) |
| |
| constexpr delta & | operator-- () |
| |
| constexpr delta | operator-- (int) |
| |
| constexpr delta & | operator+= (const delta &d) |
| |
| constexpr delta & | operator-= (const delta &d) |
| |
| constexpr delta & | operator*= (const rep &r) |
| |
| constexpr delta & | operator/= (const rep &r) |
| |
| constexpr delta & | operator%= (const rep &r) |
| |
| constexpr delta & | operator%= (const delta &d) |
| |
template<typename Rep, typename Precision>
class quanta::thermo::delta< Rep, Precision >
A temperature difference with a representation and precision.
Similar to std::chrono::duration, delta represents the difference between two temperatures. The precision is expressed as a std::ratio of one base unit (Kelvin or Celsius degree).
- Template Parameters
-
| Rep | Arithmetic type for the tick count. |
| Precision | A std::ratio representing the precision (default: 1). |
Definition at line 98 of file thermo.hpp.
template<typename Rep , typename Precision >
template<typename Rep2 >
requires std::convertible_to<const Rep2&,
rep> && (treat_as_inexact_v<
rep> || !treat_as_inexact_v<Rep2>)
Constructs from a tick count.
Implicit for inexact types, explicit otherwise to prevent accidental precision loss.
- Template Parameters
-
| Rep2 | The source representation type. |
- Parameters
-
Definition at line 124 of file thermo.hpp.
template<typename Rep , typename Precision >
template<typename Rep2 , typename Precision2 >
requires std::convertible_to<const Rep2&,
rep> && detail::_lossless_conversion<Rep2, Precision2,
rep,
precision> && detail::_quantity_castable<
delta<Rep2, Precision2>,
delta>
Constructs from another delta with different representation or precision.
Implicit when the conversion is lossless (the target rep is floating-point, or the target precision evenly divides the source precision and the source rep is not floating-point) and the source rep converts implicitly to the target rep. Any other conversion that the cast can perform is explicit (see below).
- Template Parameters
-
| Rep2 | Source representation type. |
| Precision2 | Source precision. |
- Parameters
-
Definition at line 144 of file thermo.hpp.
template<typename Rep , typename Precision >
template<typename Rep2 , typename Precision2 >
requires (!detail::_lossless_conversion<Rep2, Precision2,
rep,
precision> || !std::convertible_to<const Rep2&,
rep>) && detail::_quantity_castable<
delta<Rep2, Precision2>,
delta>
Explicit constructor for lossy conversions.
Every conversion that the cast can perform and that is not implicit (see above) is explicit: a lossy one (to a coarser precision, or from a floating-point rep to an integral one), or one to a rep that the source rep converts to only explicitly. The value is that of the domain's cast, truncated toward zero. The cast can perform the conversion when the conversion factor between the precisions fits in a std::ratio and the reps are integral or have a common type with intmax_t through which the count converts.
- Template Parameters
-
| Rep2 | Source representation type. |
| Precision2 | Source precision. |
- Parameters
-
Definition at line 167 of file thermo.hpp.