Loading...
Searching...
No Matches
SBDQuantityType.hpp File Reference

Classes

class  SBDQuantityType< Unit, Value >
 This template class defines physical quantity types. More...
 

Macros

#define SBQuantityType
 

External operators

template<typename Unit , typename Value >
constexpr SBDQuantityType< Unit, Value > operator* (double d, const SBDQuantityType< Unit, Value > &q)
 Returns the product of double d with physical quantity q.
 
template<typename Unit , typename Value >
constexpr SBDQuantityType< Unit, Value > operator* (double d, const Unit &u)
 Returns the product of double d with unit u.
 
template<typename Unit , typename Value >
constexpr SBDQuantityType< Unit, Value > operator+ (double d, const SBDQuantityType< Unit, Value > &q)
 Returns the sum of double d with physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
constexpr SBDQuantityType< Unit, Value > operator- (double d, const SBDQuantityType< Unit, Value > &q)
 Returns the difference between double d and physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
constexpr bool operator== (double d, const SBDQuantityType< Unit, Value > &q)
 Returns true when double d and physical quantity q are equal (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
constexpr bool operator!= (double d, const SBDQuantityType< Unit, Value > &q)
 Returns true when double d and physical quantity q are different (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
constexpr bool operator< (double d, const SBDQuantityType< Unit, Value > &q)
 Returns true when double d is smaller than physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
constexpr bool operator> (double d, const SBDQuantityType< Unit, Value > &q)
 Returns true when double d is larger than physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
constexpr bool operator<= (double d, const SBDQuantityType< Unit, Value > &q)
 Returns true when double d is smaller than or equal to physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
constexpr bool operator>= (double d, const SBDQuantityType< Unit, Value > &q)
 Returns true when double d is larger than or equal to physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
SBDQuantityType< typename SBDQuantityUnitDivision< double, Unit >::UnitType, Value > operator/ (double d, const SBDQuantityType< Unit, Value > &q)
 Returns the division of double d by physical quantity q.
 
template<typename Unit , typename Value >
std::ostream & operator<< (std::ostream &s, const SBDQuantityType< Unit, Value > &q)
 Inserts the physical quantity q in the output stream s.
 
template<typename Unit , typename Value >
std::istream & operator>> (std::istream &s, SBDQuantityType< Unit, Value > &q)
 Sets the physical quantity q from the input stream s.
 

Mathematical functions

template<typename Unit , typename Value >
SBDQuantityType< Unit, Value > fabs (const SBDQuantityType< Unit, Value > &q) noexcept
 Returns the absolute value of physical quantity q.
 
template<typename Unit , typename Value >
SBDQuantityType< Unit, Value > floor (const SBDQuantityType< Unit, Value > &q) noexcept
 Returns the floor value of physical quantity q.
 
template<typename Unit , typename Value >
SBDQuantityType< Unit, Value > ceil (const SBDQuantityType< Unit, Value > &q) noexcept
 Returns the ceil value of physical quantity q.
 
template<typename Unit , typename Value >
SBDQuantityType< Unit, Value > round (const SBDQuantityType< Unit, Value > &q) noexcept
 Returns the round value of physical quantity q.
 
template<typename Unit , typename Value >
SBDQuantityType< Unit, Value > trunc (const SBDQuantityType< Unit, Value > &q) noexcept
 Returns the trunc value of physical quantity q.
 
template<int p, typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, Unit::scale1, p *Unit::exponent1, Unit::scale2, p *Unit::exponent2, Unit::scale3, p *Unit::exponent3, Unit::scale4, p *Unit::exponent4, Unit::scale5, p *Unit::exponent5, Unit::scale6, p *Unit::exponent6, Unit::scale7, p *Unit::exponent7 >, Value > pow (const SBDQuantityType< Unit, Value > &q)
 Returns the p th power of physical quantity q.
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, Unit::scale1, Unit::exponent1/2, Unit::scale2, Unit::exponent2/2, Unit::scale3, Unit::exponent3/2, Unit::scale4, Unit::exponent4/2, Unit::scale5, Unit::exponent5/2, Unit::scale6, Unit::exponent6/2, Unit::scale7, Unit::exponent7/2 >, Value > sqrt (const SBDQuantityType< Unit, Value > &q)
 Returns the square root of physical quantity q.
 
template<int p, typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, Unit::scale1, Unit::exponent1/p, Unit::scale2, Unit::exponent2/p, Unit::scale3, Unit::exponent3/p, Unit::scale4, Unit::exponent4/p, Unit::scale5, Unit::exponent5/p, Unit::scale6, Unit::exponent6/p, Unit::scale7, Unit::exponent7/p >, Value > root (const SBDQuantityType< Unit, Value > &q)
 Returns the p th root of physical quantity q.
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > exp (const SBDQuantityType< Unit, Value > &q)
 Returns the exponential of physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > log (const SBDQuantityType< Unit, Value > &q)
 Returns the logarithm of physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > sin (const SBDQuantityType< Unit, Value > &q)
 Returns the sin of physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > asin (const SBDQuantityType< Unit, Value > &q)
 Returns the asin of physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > cos (const SBDQuantityType< Unit, Value > &q)
 Returns the cos of physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > acos (const SBDQuantityType< Unit, Value > &q)
 Returns the acos of physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > tan (const SBDQuantityType< Unit, Value > &q)
 Returns the tan of physical quantity q (for dimensionless physical quantities only)
 
template<typename Unit , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename Unit::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > atan (const SBDQuantityType< Unit, Value > &q)
 Returns the atan of physical quantity q (for dimensionless physical quantities only)
 
template<typename UnitA , typename UnitB , typename Value >
SBDQuantityType< SBDQuantityUnitType< typename UnitA::SystemType, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 >, Value > atan2 (const SBDQuantityType< UnitA, Value > &a, const SBDQuantityType< UnitB, Value > &b)
 Returns the atan2 of physical quantities a and b.