17 #ifndef IGNITION_MATH_TEMPERATURE_HH_ 18 #define IGNITION_MATH_TEMPERATURE_HH_ 30 class TemperaturePrivate;
84 public:
static double KelvinToCelsius(
const double _temp);
89 public:
static double KelvinToFahrenheit(
const double _temp);
94 public:
static double CelsiusToFahrenheit(
const double _temp);
99 public:
static double CelsiusToKelvin(
const double _temp);
104 public:
static double FahrenheitToCelsius(
const double _temp);
109 public:
static double FahrenheitToKelvin(
const double _temp);
113 public:
void SetKelvin(
const double _temp);
117 public:
void SetCelsius(
const double _temp);
121 public:
void SetFahrenheit(
const double _temp);
125 public:
double Kelvin()
const;
129 public:
double Celsius()
const;
133 public:
double Fahrenheit()
const;
138 public:
double operator()()
const;
143 public:
Temperature &operator=(
const double _temp);
166 return _t + _temp.
Kelvin();
172 public:
const Temperature &operator+=(
const double _temp);
195 return _t - _temp.
Kelvin();
201 public:
const Temperature &operator-=(
const double _temp);
224 return _t * _temp.
Kelvin();
230 public:
const Temperature &operator*=(
const double _temp);
253 return _t / _temp.
Kelvin();
259 public:
const Temperature &operator/=(
const double _temp);
269 public:
bool operator==(
const Temperature &_temp)
const;
275 public:
bool operator==(
const double _temp)
const;
280 public:
bool operator!=(
const Temperature &_temp)
const;
286 public:
bool operator!=(
const double _temp)
const;
291 public:
bool operator<(
const Temperature &_temp)
const;
297 public:
bool operator<(
const double _temp)
const;
302 public:
bool operator<=(
const Temperature &_temp)
const;
308 public:
bool operator<=(
const double _temp)
const;
313 public:
bool operator>(
const Temperature &_temp)
const;
319 public:
bool operator>(
const double _temp)
const;
324 public:
bool operator>=(
const Temperature &_temp)
const;
330 public:
bool operator>=(
const double _temp)
const;
352 _in.setf(std::ios_base::skipws);
364 #pragma warning(push) 365 #pragma warning(disable: 4251) 367 private: std::unique_ptr<TemperaturePrivate> dataPtr;
void SetKelvin(const double _temp)
Set the temperature from a Kelvin value.
A class that stores temperature information, and allows conversion between different units...
Definition: Temperature.hh:64
friend Temperature operator*(double _t, const Temperature &_temp)
Multiplication operator for double type.
Definition: Temperature.hh:222
friend std::istream & operator>>(std::istream &_in, ignition::math::Temperature &_temp)
Stream extraction operator.
Definition: Temperature.hh:348
#define IGNITION_VISIBLE
Use to represent "symbol visible" if supported.
Definition: System.hh:59
friend Temperature operator/(double _t, const Temperature &_temp)
Division operator for double type.
Definition: Temperature.hh:251
friend Temperature operator+(double _t, const Temperature &_temp)
Addition operator for double type.
Definition: Temperature.hh:164
friend std::ostream & operator<<(std::ostream &_out, const ignition::math::Temperature &_temp)
Stream insertion operator.
Definition: Temperature.hh:336
friend Temperature operator-(double _t, const Temperature &_temp)
Subtraction operator for double type.
Definition: Temperature.hh:193
double Kelvin() const
Get the temperature in Kelvin.