|
Gyoto
|
Wrapper around ut_unit from udunits. More...
#include <GyotoConverters.h>
Public Types | |
| typedef Gyoto::SmartPointer < Gyoto::SmartPointee > | Subcontractor_t (Gyoto::FactoryMessenger *) |
| A subcontractor builds an object upon order from the Factory. More... | |
Public Member Functions | |
| Unit (const std::string &unit) | |
| Build Unit described by string. More... | |
| Unit (char const *const unit) | |
| Build Unit described by C string. More... | |
| ~Unit () | |
| Destructor. More... | |
| double | To (double val, const Unit &from_unit) |
| Convert to Unit. More... | |
| double | From (double val, const Unit &to_unit) |
| Convert from Unit. More... | |
| operator std::string () const | |
| Cast to string. More... | |
| operator ut_unit * () const | |
| Cast to ut_unit*. More... | |
| void | incRefCount () |
| Increment the reference counter. Warning: Don't mess with the counter. | |
| int | decRefCount () |
| Decrement the reference counter and return current value. Warning: Don't mess with the counter. | |
| int | getRefCount () |
| Get the current number of references. | |
Private Attributes | |
| ut_unit * | unit_ |
| the underlying ut_unit (from udunits) | |
| std::string | kind_ |
| the string used to instanciate this unit | |
Friends | |
| class | Gyoto::SmartPointer< Gyoto::Units::Unit > |
| class | Gyoto::Units::Converter |
Wrapper around ut_unit from udunits.
Gyoto::Units::Unit objects usually cast seamlessly to and from udunits2 ut_unit* and std::string.
|
inherited |
A subcontractor builds an object upon order from the Factory.
Various classes need to provide a subcontractor to be able to instanciate themselves upon order from the Factory. A subcontractor is a function (often a static member function) which accepts a pointer to a FactoryMessenger as unique parameter, communicates with the Factory using this messenger to read an XML description of the object to build, and returns this objet. SmartPointee::Subcontractor_t* is just generic enough a typedef to cast to and from other subcontractor types: Astrobj::Subcontractor_t, Metric::Subcontractor_t, Spectrum::Subcontractor_t. A subcontractor needs to be registered using the relevant Register() function: Astrobj::Register(), Metric::Register(), Spectrum::Register().
| Gyoto::Units::Unit::Unit | ( | const std::string & | unit | ) |
Build Unit described by string.
Throws a Gyoto::Error if anything goes wrong.
| unit | string description of the unit, e.g. "mJy/sr2" or "sunmass". |
| Gyoto::Units::Unit::Unit | ( | char const *const | unit | ) |
Build Unit described by C string.
Throws a Gyoto::Error if anything goes wrong.
| unit | char const * const description of the unit, e.g. "mJy/sr2" or "sunmass". |
| Gyoto::Units::Unit::~Unit | ( | ) |
Destructor.
Frees unit_.
| double Gyoto::Units::Unit::From | ( | double | val, |
| const Unit & | to_unit | ||
| ) |
| Gyoto::Units::Unit::operator std::string | ( | ) | const |
Cast to string.
| Gyoto::Units::Unit::operator ut_unit * | ( | ) | const |
Cast to ut_unit*.
| double Gyoto::Units::Unit::To | ( | double | val, |
| const Unit & | from_unit | ||
| ) |
1.8.8