Public Types |
Public Member Functions |
Static Public Member Functions |
Private Member Functions |
Private Attributes |
Static Private Attributes |
List of all members
CUnitConversionEngine Class Reference
#include <UnitConversionEngine.h>
Public Types | |
typedef std::vector< CQuantityTypeDescriptor * > | QuantityTypeList |
typedef std::vector< CUnitDescriptor * > | UnitList |
typedef std::vector< CPrefixDescriptor * > | PrefixList |
typedef std::vector< CQuantityConversionDescriptor * > | QuantityConversionList |
typedef std::unordered_map< char, unsigned int > | PrefixMap |
typedef std::unordered_map< std::string, unsigned int > | UnitSymbolMap |
typedef std::unordered_map< std::string, unsigned int > | QuantityNameMap |
typedef std::unordered_map< CQuantityConversionKey, unsigned int > | QuantityConversionMap |
typedef std::unordered_map< CUnitDimension, unsigned int > | DimensionToQuantityMap |
Public Member Functions | |
double | ConvertValue (const double &value, const CCompoundUnit &fromUnit, const CCompoundUnit &toUnit) const |
double | ConvertValue (const double &value, const std::string &fromUnit, const std::string &toUnit) const |
double | QuickConvertValue (const double &value, const CCompoundUnit &fromUnit, const CCompoundUnit &toUnit) const |
double | QuickConvertValue (const double &value, const std::string &fromUnit, const std::string &toUnit) const |
double | ConvertValueInterval (const double &value, const CCompoundUnit &fromUnit, const CCompoundUnit &toUnit) const |
double | ConvertValueInterval (const double &value, const std::string &fromUnit, const std::string &toUnit) const |
double | ConvertQuantityType (const double &value, const CCompoundUnit &fromUnit, const CCompoundUnit &toUnit) const |
int | GetUnitID (const std::string &unitSym) const |
int | GetQuantityTypeID (const std::string &qtName) const |
int | GetQuantityTypeID (const CUnitDimension &ud) const |
int | GetQuantityConversionID (const CUnitDimension *fromDim, const CUnitDimension *toDim) const |
bool | GetQuantityConversionParams (const CUnitDimension *fromDim, const CUnitDimension *toDim, double &fromExp, CCompoundUnit &mappingUnit) const |
CCompoundUnit * | GetCompoundUnit (const std::string &unitString) const |
bool | LookupFullUnit (const std::string &fullUnitSym, int &unitID, double &prefixScaleFac) const |
bool | LookupFullUnit (const std::string &fullUnitSym, int &unitID, int &prefixID) const |
const CUnitDescriptor & | GetUnitDescriptor (int unitID) const |
const CQuantityTypeDescriptor & | GetQuantityTypeDescriptor (int qtID) const |
const CPrefixDescriptor & | GetPrefixDescriptor (int pfxID) const |
const CQuantityConversionDescriptor & | GetQuantityConversionDescriptor (int qcID) const |
int | GetNumQuantities () |
int | GetNumFundamentalQuantities () |
void | LoadDefinitions () |
CUnitDescriptor * | NewUnit (const std::string &name, const std::string &symbol, unsigned int quantityTypeId, const std::string &targetUnit, const double &convFac, const double &bias, CUnitDescriptor::PrefixModeType mode, const std::string &prefixSet) |
CQuantityTypeDescriptor * | NewQuantityType (const std::string &name, const std::string &expansion="", bool twentyLog=false) |
CPrefixDescriptor * | NewPrefix (const std::string &name, const std::string &sym, const double &scaleFac) |
CQuantityConversionDescriptor * | NewQuantityConversion (const std::string &fromTypeName, double fromExp, const std::string &toTypeName, const std::string &mappingUnit) |
Static Public Member Functions | |
static CUnitConversionEngine & | GetEngine (void) |
static void | DestroyEngine () |
Private Member Functions | |
CUnitConversionEngine () | |
CUnitConversionEngine (const CUnitConversionEngine &) | |
~CUnitConversionEngine () | |
void | GetUCEdefs () |
Private Attributes | |
QuantityTypeList * | m_QTList |
UnitList * | m_UList |
PrefixList * | m_PList |
QuantityConversionList * | m_QCList |
PrefixMap * | m_PMap |
UnitSymbolMap * | m_USMap |
QuantityNameMap * | m_QNMap |
QuantityConversionMap * | m_QCMap |
DimensionToQuantityMap * | m_D2QMap |
int | m_iNumFundamentalQuantities |
int | m_iNumQuantities |
std::stringstream | m_UCEdefs |
Static Private Attributes | |
static CUnitConversionEngine * | uce =nullptr |
Member Typedef Documentation
◆ DimensionToQuantityMap
typedef std::unordered_map<CUnitDimension, unsigned int> CUnitConversionEngine::DimensionToQuantityMap |
◆ PrefixList
typedef std::vector<CPrefixDescriptor*> CUnitConversionEngine::PrefixList |
◆ PrefixMap
typedef std::unordered_map<char,unsigned int> CUnitConversionEngine::PrefixMap |
◆ QuantityConversionList
typedef std::vector<CQuantityConversionDescriptor*> CUnitConversionEngine::QuantityConversionList |
◆ QuantityConversionMap
typedef std::unordered_map<CQuantityConversionKey, unsigned int> CUnitConversionEngine::QuantityConversionMap |
◆ QuantityNameMap
typedef std::unordered_map<std::string,unsigned int> CUnitConversionEngine::QuantityNameMap |
◆ QuantityTypeList
typedef std::vector<CQuantityTypeDescriptor*> CUnitConversionEngine::QuantityTypeList |
◆ UnitList
typedef std::vector<CUnitDescriptor*> CUnitConversionEngine::UnitList |
◆ UnitSymbolMap
typedef std::unordered_map<std::string,unsigned int> CUnitConversionEngine::UnitSymbolMap |
Constructor & Destructor Documentation
◆ CUnitConversionEngine() [1/2]
|
private |
◆ CUnitConversionEngine() [2/2]
|
inlineprivate |
◆ ~CUnitConversionEngine()
|
private |
Member Function Documentation
◆ ConvertQuantityType()
double CUnitConversionEngine::ConvertQuantityType | ( | const double & | value, |
const CCompoundUnit & | fromUnit, | ||
const CCompoundUnit & | toUnit | ||
) | const |
◆ ConvertValue() [1/2]
double CUnitConversionEngine::ConvertValue | ( | const double & | value, |
const CCompoundUnit & | fromUnit, | ||
const CCompoundUnit & | toUnit | ||
) | const |
◆ ConvertValue() [2/2]
double CUnitConversionEngine::ConvertValue | ( | const double & | value, |
const std::string & | fromUnit, | ||
const std::string & | toUnit | ||
) | const |
◆ ConvertValueInterval() [1/2]
double CUnitConversionEngine::ConvertValueInterval | ( | const double & | value, |
const CCompoundUnit & | fromUnit, | ||
const CCompoundUnit & | toUnit | ||
) | const |
◆ ConvertValueInterval() [2/2]
double CUnitConversionEngine::ConvertValueInterval | ( | const double & | value, |
const std::string & | fromUnit, | ||
const std::string & | toUnit | ||
) | const |
◆ DestroyEngine()
|
inlinestatic |
◆ GetCompoundUnit()
CCompoundUnit * CUnitConversionEngine::GetCompoundUnit | ( | const std::string & | unitString | ) | const |
◆ GetEngine()
|
inlinestatic |
◆ GetNumFundamentalQuantities()
|
inline |
◆ GetNumQuantities()
|
inline |
◆ GetPrefixDescriptor()
|
inline |
◆ GetQuantityConversionDescriptor()
|
inline |
◆ GetQuantityConversionID()
int CUnitConversionEngine::GetQuantityConversionID | ( | const CUnitDimension * | fromDim, |
const CUnitDimension * | toDim | ||
) | const |
◆ GetQuantityConversionParams()
bool CUnitConversionEngine::GetQuantityConversionParams | ( | const CUnitDimension * | fromDim, |
const CUnitDimension * | toDim, | ||
double & | fromExp, | ||
CCompoundUnit & | mappingUnit | ||
) | const |
◆ GetQuantityTypeDescriptor()
|
inline |
◆ GetQuantityTypeID() [1/2]
int CUnitConversionEngine::GetQuantityTypeID | ( | const CUnitDimension & | ud | ) | const |
◆ GetQuantityTypeID() [2/2]
int CUnitConversionEngine::GetQuantityTypeID | ( | const std::string & | qtName | ) | const |
◆ GetUCEdefs()
|
private |
◆ GetUnitDescriptor()
|
inline |
◆ GetUnitID()
int CUnitConversionEngine::GetUnitID | ( | const std::string & | unitSym | ) | const |
◆ LoadDefinitions()
void CUnitConversionEngine::LoadDefinitions | ( | ) |
◆ LookupFullUnit() [1/2]
|
inline |
◆ LookupFullUnit() [2/2]
bool CUnitConversionEngine::LookupFullUnit | ( | const std::string & | fullUnitSym, |
int & | unitID, | ||
int & | prefixID | ||
) | const |
◆ NewPrefix()
CPrefixDescriptor * CUnitConversionEngine::NewPrefix | ( | const std::string & | name, |
const std::string & | sym, | ||
const double & | scaleFac | ||
) |
◆ NewQuantityConversion()
CQuantityConversionDescriptor * CUnitConversionEngine::NewQuantityConversion | ( | const std::string & | fromTypeName, |
double | fromExp, | ||
const std::string & | toTypeName, | ||
const std::string & | mappingUnit | ||
) |
◆ NewQuantityType()
CQuantityTypeDescriptor * CUnitConversionEngine::NewQuantityType | ( | const std::string & | name, |
const std::string & | expansion = "" , |
||
bool | twentyLog = false |
||
) |
◆ NewUnit()
CUnitDescriptor * CUnitConversionEngine::NewUnit | ( | const std::string & | name, |
const std::string & | symbol, | ||
unsigned int | quantityTypeId, | ||
const std::string & | targetUnit, | ||
const double & | convFac, | ||
const double & | bias, | ||
CUnitDescriptor::PrefixModeType | mode, | ||
const std::string & | prefixSet | ||
) |
◆ QuickConvertValue() [1/2]
double CUnitConversionEngine::QuickConvertValue | ( | const double & | value, |
const CCompoundUnit & | fromUnit, | ||
const CCompoundUnit & | toUnit | ||
) | const |
◆ QuickConvertValue() [2/2]
double CUnitConversionEngine::QuickConvertValue | ( | const double & | value, |
const std::string & | fromUnit, | ||
const std::string & | toUnit | ||
) | const |
Member Data Documentation
◆ m_D2QMap
|
private |
◆ m_iNumFundamentalQuantities
|
private |
◆ m_iNumQuantities
|
private |
◆ m_PList
|
private |
◆ m_PMap
|
private |
◆ m_QCList
|
private |
◆ m_QCMap
|
private |
◆ m_QNMap
|
private |
◆ m_QTList
|
private |
◆ m_UCEdefs
|
private |
◆ m_UList
|
private |
◆ m_USMap
|
private |
◆ uce
|
staticprivate |