|
|
template<typename OtherUnit, typename OtherRep, typename Enable = EnableIfImplicitOkIs<true, OtherUnit, OtherRep>> |
| constexpr | Quantity (Quantity< OtherUnit, OtherRep > other) |
|
template<typename OtherUnit, typename OtherRep, typename Enable = EnableIfImplicitOkIs<false, OtherUnit, OtherRep>, typename ThisUnusedTemplateParameterDistinguishesUsFromTheAboveConstructor = void> |
| constexpr | Quantity (Quantity< OtherUnit, OtherRep > other)=delete |
|
constexpr | Quantity (Zero) |
|
template<typename T, std::enable_if_t< std::is_convertible< CorrespondingQuantityT< T >, Quantity >::value, int > = 0> |
| constexpr | Quantity (T &&x) |
|
template<typename NewRep, typename NewUnit, typename = std::enable_if_t<IsUnit<AssociatedUnitT<NewUnit>>::value>> |
| constexpr auto | as (NewUnit) const |
|
template<typename NewUnit, typename = std::enable_if_t<IsUnit<AssociatedUnitT<NewUnit>>::value>> |
| constexpr auto | as (NewUnit u) const |
|
template<typename NewRep, typename NewUnit, typename = std::enable_if_t<IsUnit<AssociatedUnitT<NewUnit>>::value>> |
| constexpr NewRep | in (NewUnit u) const |
|
template<typename NewUnit, typename = std::enable_if_t<IsUnit<AssociatedUnitT<NewUnit>>::value>> |
| constexpr Rep | in (NewUnit u) const |
|
template<typename U> |
| constexpr auto | as () const -> decltype(as(U{})) |
|
template<typename U, typename R, typename = std::enable_if_t<IsUnit<U>::value>> |
| constexpr auto | as () const |
|
template<typename U> |
| constexpr auto | in () const -> decltype(in(U{})) |
|
template<typename U, typename R, typename = std::enable_if_t<IsUnit<U>::value>> |
| constexpr auto | in () const |
|
template<typename NewUnit> |
| constexpr auto | coerce_as (NewUnit) const |
|
template<typename NewRep, typename NewUnit> |
| constexpr auto | coerce_as (NewUnit) const |
|
template<typename NewUnit> |
| constexpr auto | coerce_in (NewUnit) const |
|
template<typename NewRep, typename NewUnit> |
| constexpr auto | coerce_in (NewUnit) const |
|
template<typename U> |
| Rep & | data_in (const QuantityMaker< U > &) |
|
template<typename U> |
| Rep & | data_in (const U &) |
|
template<typename U> |
| const Rep & | data_in (const QuantityMaker< U > &) const |
|
template<typename U> |
| const Rep & | data_in (const U &) const |
|
template<typename OtherUnit, typename OtherRep> |
| constexpr auto | operator* (Quantity< OtherUnit, OtherRep > q) const |
|
template<typename OtherUnit, typename OtherRep> |
| constexpr auto | operator/ (Quantity< OtherUnit, OtherRep > q) const |
|
constexpr Quantity & | operator+= (Quantity other) |
|
constexpr Quantity & | operator-= (Quantity other) |
|
template<typename T> |
| constexpr Quantity & | operator*= (T s) |
|
template<typename T> |
| constexpr Quantity & | operator/= (T s) |
|
constexpr Quantity | operator+ () const |
|
constexpr Quantity | operator- () const |
|
template<typename U = UnitT, typename = std::enable_if_t<IsUnitlessUnit<U>::value>> |
| constexpr | operator Rep () const |
|
template<typename T, std::enable_if_t< std::is_convertible< Quantity, CorrespondingQuantityT< T > >::value, int > = 0> |
| constexpr | operator T () const |
|
|
struct | QuantityMaker< UnitT > |
|
constexpr bool | operator== (Quantity a, Quantity b) |
|
constexpr bool | operator!= (Quantity a, Quantity b) |
|
constexpr bool | operator< (Quantity a, Quantity b) |
|
constexpr bool | operator<= (Quantity a, Quantity b) |
|
constexpr bool | operator> (Quantity a, Quantity b) |
|
constexpr bool | operator>= (Quantity a, Quantity b) |
|
constexpr Quantity< UnitT, decltype(std::declval< RepT >()+std::declval< RepT >())> | operator+ (Quantity a, Quantity b) |
|
constexpr Quantity< UnitT, decltype(std::declval< RepT >() - std::declval< RepT >())> | operator- (Quantity a, Quantity b) |
|
template<typename T, typename = std::enable_if_t<std::is_arithmetic<T>::value>> |
| constexpr auto | operator* (Quantity a, T s) |
|
template<typename T, typename = std::enable_if_t<std::is_arithmetic<T>::value>> |
| constexpr auto | operator* (T s, Quantity a) |
|
template<typename T, typename = std::enable_if_t<std::is_arithmetic<T>::value>> |
| constexpr auto | operator/ (Quantity a, T s) |
|
template<typename T, typename = std::enable_if_t<std::is_arithmetic<T>::value>> |
| constexpr auto | operator/ (T s, Quantity a) |