HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Friends
au::Quantity< UnitT, RepT > Class Template Reference

Public Types

using Rep = RepT
 
using Unit = UnitT
 

Public Member Functions

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 Quantityoperator+= (Quantity other)
 
constexpr Quantityoperator-= (Quantity other)
 
template<typename T >
constexpr Quantityoperator*= (T s)
 
template<typename T >
constexpr Quantityoperator/= (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
 

Static Public Attributes

static constexpr auto unit = Unit{}
 

Friends

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)
 

The documentation for this class was generated from the following file: