#include <CompoundUnit.h>

Inherited by AmountPerMassUnit, AmountPerTimeUnit, AmountPerVolumeUnit, AmountUnit, AreaPerTimePressureUnit, AreaUnit, ElectricCapacitanceUnit, ElectricChargeUnit, ElectricCurrentUnit, ElectricInductanceUnit, ElectricPotentialUnit, ElectricResistanceUnit, EnergyPerAmountUnit, EnergyPerMassUnit, EnergyUnit, EquivalentWeightPerVolumeUnit, ForceUnit, FrequencyUnit, HeatCapacitancePerAmountUnit, HeatCapacitancePerMassUnit, HeatCapacitanceUnit, HeatConductancePerAreaUnit, HeatConductanceUnit, HeatInductanceUnit, HeatResistanceAreaUnit, HeatResistanceUnit, InversePressureUnit, InverseVolumeUnit, LengthPerTimePressureUnit, LengthPerTimeUnit, LengthUnit, MassPerAmountUnit, MassPerAreaTimeUnit, MassPerMassUnit, MassPerTimeUnit, MassPerVolumeUnit, MassUnit, OsmolalityUnit, OsmolarityUnit, PowerPerAreaTemperatureToTheFourthUnit, PowerUnit, PressurePerVolumeUnit, PressureTimePerAreaUnit, PressureTimePerVolumeAreaUnit, PressureTimePerVolumeUnit, PressureTimeSquaredPerVolumeUnit, PressureUnit, TemperatureUnit, TimeUnit, VolumePerPressureUnit, VolumePerTimeAreaUnit, VolumePerTimeMassUnit, VolumePerTimePressureAreaUnit, VolumePerTimePressureUnit, VolumePerTimeUnit, and VolumeUnit.

Public Member Functions

 CCompoundUnit ()
 
 CCompoundUnit (const std::string &unitString)
 
 CCompoundUnit (const CCompoundUnit &src)
 
virtual ~CCompoundUnit ()
 
const CUnitDimensionGetDimension () const
 
const double & GetBigness () const
 
double GetBias () const
 
CCompoundUnitoperator= (const CCompoundUnit &rhs)
 
CCompoundUnitoperator*= (const CCompoundUnit &rhs)
 
CCompoundUnitoperator/= (const CCompoundUnit &rhs)
 
CCompoundUnit operator* (const CCompoundUnit &rhs) const
 
CCompoundUnit operator/ (const CCompoundUnit &rhs) const
 
CCompoundUnitRaise (CCompoundUnitElement::ExponentType)
 
bool operator== (const CCompoundUnit &rhs) const
 
bool operator!= (const CCompoundUnit &rhs) const
 
bool IsOfType (int quantityTypeID)
 
bool IsOfType (const std::string &quantityName)
 
bool IsDimensionless () const
 
bool IsDecibel () const
 
bool IsUnitEmpty () const
 
double GetDecibelLogScaleFactor () const
 
void DecibelModeOn ()
 
void DecibelModeOff ()
 
CCompoundUnitElementAddElement (const CCompoundUnitElement &)
 
void clear ()
 
void ParseString (const std::string &unitString)
 
std::string GetString () const
 
std::ostream & PrintSelf (std::ostream &output) const
 

Protected Member Functions

void BuildDimension () const
 
void ComputeBigness () const
 

Private Types

typedef std::vector< CCompoundUnitElementCUEVecType
 

Private Attributes

std::string m_strUnit
 
double m_dBigness
 
CUEVecType m_CUEVec
 
CUnitDimensionm_CUD
 
bool m_bStaleBigness
 
bool m_bStaleDimension
 
bool m_bExplicitNonDBFlag
 
bool m_bExplicitDBFlag
 
bool m_bDBFlag
 

Member Typedef Documentation

◆ CUEVecType

typedef std::vector<CCompoundUnitElement> CCompoundUnit::CUEVecType
private

Constructor & Destructor Documentation

◆ CCompoundUnit() [1/3]

CCompoundUnit::CCompoundUnit ( )
inline

◆ CCompoundUnit() [2/3]

CCompoundUnit::CCompoundUnit ( const std::string &  unitString)
inline

◆ CCompoundUnit() [3/3]

CCompoundUnit::CCompoundUnit ( const CCompoundUnit src)
inline

◆ ~CCompoundUnit()

virtual CCompoundUnit::~CCompoundUnit ( )
inlinevirtual

Member Function Documentation

◆ AddElement()

CCompoundUnitElement & CCompoundUnit::AddElement ( const CCompoundUnitElement elem)

◆ BuildDimension()

void CCompoundUnit::BuildDimension ( ) const
protected

◆ clear()

void CCompoundUnit::clear ( )
inline

◆ ComputeBigness()

void CCompoundUnit::ComputeBigness ( ) const
protected

◆ DecibelModeOff()

void CCompoundUnit::DecibelModeOff ( )
inline

◆ DecibelModeOn()

void CCompoundUnit::DecibelModeOn ( )
inline

◆ GetBias()

double CCompoundUnit::GetBias ( ) const

◆ GetBigness()

const double & CCompoundUnit::GetBigness ( ) const

◆ GetDecibelLogScaleFactor()

double CCompoundUnit::GetDecibelLogScaleFactor ( ) const

◆ GetDimension()

const CUnitDimension * CCompoundUnit::GetDimension ( ) const

◆ GetString()

std::string CCompoundUnit::GetString ( ) const
inline

◆ IsDecibel()

bool CCompoundUnit::IsDecibel ( ) const

◆ IsDimensionless()

bool CCompoundUnit::IsDimensionless ( ) const
inline

◆ IsOfType() [1/2]

bool CCompoundUnit::IsOfType ( const std::string &  quantityName)

◆ IsOfType() [2/2]

bool CCompoundUnit::IsOfType ( int  quantityTypeID)

◆ IsUnitEmpty()

bool CCompoundUnit::IsUnitEmpty ( ) const
inline

◆ operator!=()

bool CCompoundUnit::operator!= ( const CCompoundUnit rhs) const
inline

◆ operator*()

CCompoundUnit CCompoundUnit::operator* ( const CCompoundUnit rhs) const
inline

◆ operator*=()

CCompoundUnit & CCompoundUnit::operator*= ( const CCompoundUnit rhs)

◆ operator/()

CCompoundUnit CCompoundUnit::operator/ ( const CCompoundUnit rhs) const
inline

◆ operator/=()

CCompoundUnit & CCompoundUnit::operator/= ( const CCompoundUnit rhs)

◆ operator=()

CCompoundUnit & CCompoundUnit::operator= ( const CCompoundUnit rhs)
inline

◆ operator==()

bool CCompoundUnit::operator== ( const CCompoundUnit rhs) const
inline

◆ ParseString()

void CCompoundUnit::ParseString ( const std::string &  unitString)

◆ PrintSelf()

std::ostream & CCompoundUnit::PrintSelf ( std::ostream &  output) const

◆ Raise()

CCompoundUnit & CCompoundUnit::Raise ( CCompoundUnitElement::ExponentType  exp)

Member Data Documentation

◆ m_bDBFlag

bool CCompoundUnit::m_bDBFlag
mutableprivate

◆ m_bExplicitDBFlag

bool CCompoundUnit::m_bExplicitDBFlag
mutableprivate

◆ m_bExplicitNonDBFlag

bool CCompoundUnit::m_bExplicitNonDBFlag
mutableprivate

◆ m_bStaleBigness

bool CCompoundUnit::m_bStaleBigness
mutableprivate

◆ m_bStaleDimension

bool CCompoundUnit::m_bStaleDimension
mutableprivate

◆ m_CUD

CUnitDimension* CCompoundUnit::m_CUD
mutableprivate

◆ m_CUEVec

CUEVecType CCompoundUnit::m_CUEVec
private

◆ m_dBigness

double CCompoundUnit::m_dBigness
mutableprivate

◆ m_strUnit

std::string CCompoundUnit::m_strUnit
mutableprivate

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.