|
|
virtual | ~TemperatureUnit () override=default |
|
| Unit (int scaleExponent=0, const std::string &prettyString="") |
| Default constructor.
|
|
| Unit (const std::string &scaleAbbreviation, const std::string &prettyString="") |
| Constructor using scale abbreviations registered in ScaleFactory.
|
|
virtual | ~Unit ()=default |
|
Unit | clone () const |
| Deep copy constructor.
|
|
Unit | cloneToMixed () const |
| Deep copy constructor that discards system designation.
|
|
std::vector< std::string > | baseUnits () const |
| Returns base units already available in Unit.
|
|
bool | isBaseUnit (const std::string &baseUnit) const |
| Returns true if baseUnit is available in Unit.
|
|
int | baseUnitExponent (const std::string &baseUnit) const |
| Base unit exponent getter. Returns 0 if baseUnit not present. */.
|
|
void | setBaseUnitExponent (const std::string &baseUnit, int exponent) |
| Sets baseUnit^exponent. If baseUnit not yet present, is added and return value is true.
|
|
Scale | scale () const |
| Scale getter.
|
|
bool | setScale (int scaleExponent) |
| Sets the scale to the one registered in ScaleFactory for 10^scaleExponent.
|
|
bool | setScale (const std::string &scaleAbbreviation) |
| Sets the scale to the one registered in ScaleFactory under scaleAbbreviation.
|
|
std::string | standardString (bool withScale=true) const |
| Returns the standard output string for this unit.
|
|
std::string | prettyString (bool withScale=true) const |
| Returns the preferred output string for this unit.
|
|
void | setPrettyString (const std::string &str) |
| Setter for prettyString (do not include scale abbreviation).
|
|
std::string | print (bool withScale=true) const |
| Returns prettyString(withScale) if it exists; otherwise returns standardString(withScale).
|
|
UnitSystem | system () const |
| Getter for this Unit's system.
|
|
bool | operator== (const Unit &rUnit) const |
| Equality for units.
|
|
Unit & | operator*= (const Unit &rUnit) |
| Multiply-assign operator.
|
|
Unit & | operator/= (const Unit &rUnit) |
| Divide-assign operator.
|
|
Unit & | pow (int expNum, int expDenom=1, bool okToCallFactory=true) |
| Raise Unit to a rational power.
|
|
template<typename T > |
T | cast () const |
| Cast to type T.
|
|
template<typename T > |
boost::optional< T > | optionalCast () const |
| Cast to boost::optional<T>.
|
|
TemperatureUnit is an abstract Unit for handling temperatures.
Temperatures can be absolute or relative. The temperature of a material is absolute temperature. Temperature differences are relative temperatures. In the former case C != K (F != R), but in the latter, C == K (F == R).
There are no public constructors, because this is an abstract class. By default, derived classes should set absoute=true. Temperatures that start as relative should be handled by regular Unit classes.