Alamo
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends
Unit Struct Reference

#include <Unit.H>

Inheritance diagram for Unit:

Public Types

enum class  Type {
  Length =0 , Time =1 , Mass =2 , Temperature =3 ,
  Current =4 , Amount =5 , LuminousIntensity =6
}
 

Public Member Functions

 Unit (const std::pair< double, std::array< int, 7 > > &p)
 
bool isType (const Unit &test) const
 
Unit operator* (const Unit &rhs)
 
Unit operator/ (const Unit &rhs)
 
Unit operator^ (const int &rhs)
 
double normalized_value () const
 
std::string normalized_unitstring () const
 

Static Public Member Functions

static Unit Less ()
 
static Unit Length ()
 
static Unit Time ()
 
static Unit Mass ()
 
static Unit Temperature ()
 
static Unit Current ()
 
static Unit Amount ()
 
static Unit LuminousIntensity ()
 
static Unit Angle ()
 
static Unit Area ()
 
static Unit Volume ()
 
static Unit Velocity ()
 
static Unit Acceleration ()
 
static Unit Force ()
 
static Unit Momentum ()
 
static Unit Impulse ()
 
static Unit Pressure ()
 
static Unit Energy ()
 
static Unit Power ()
 
static Unit Density ()
 
static Unit SpecificWeight ()
 
static Unit Work ()
 
static Unit SpecificHeatCapacity ()
 
static Unit ThermalConductivity ()
 
static Unit ThermalDiffusivity ()
 
static Unit HeatFlux ()
 
static Unit HeatTransferCoefficient ()
 
static Unit Charge ()
 
static Unit Voltage ()
 
static Unit Resistance ()
 
static Unit Capacitance ()
 
static Unit Conductance ()
 
static Unit MagneticFlux ()
 
static Unit MagneticField ()
 
static Unit Inductance ()
 
static Unit MolarMass ()
 
static Unit Concentration ()
 
static Unit MolarEnergy ()
 
static Unit LuminousFlux ()
 
static Unit Illuminance ()
 
static std::map< std::string, int > ParseUnitString (const std::string &input)
 
static Unit Parse (double val, std::string unitstring, bool verbose=false)
 
static Unit Parse (std::string unit, bool verbose=false)
 
static Unit StringParse (std::string unitstring, bool verbose=false)
 
static void setLengthUnit (std::string unit)
 
static void setTimeUnit (std::string unit)
 

Static Public Attributes

static const std::map< std::string, std::pair< double, std::array< int, 7 > > > base_units
 
static const std::map< std::string, std::pair< double, std::string > > compound
 
static std::array< std::pair< std::string, double >, 7 > normalization
 

Friends

Unit operator* (double lhs, const Unit &rhs)
 
Unit operator/ (double lhs, const Unit &rhs)
 
std::ostream & operator<< (std::ostream &out, const Unit &a)
 

Detailed Description

Definition at line 19 of file Unit.H.

Member Enumeration Documentation

◆ Type

enum class Unit::Type
strong
Enumerator
Length 
Time 
Mass 
Temperature 
Current 
Amount 
LuminousIntensity 

Definition at line 25 of file Unit.H.

Constructor & Destructor Documentation

◆ Unit()

Unit::Unit ( const std::pair< double, std::array< int, 7 > > &  p)
inline

Definition at line 261 of file Unit.H.

Member Function Documentation

◆ Acceleration()

static Unit Unit::Acceleration ( )
inlinestatic

Definition at line 208 of file Unit.H.

◆ Amount()

static Unit Unit::Amount ( )
inlinestatic

Definition at line 199 of file Unit.H.

◆ Angle()

static Unit Unit::Angle ( )
inlinestatic

Definition at line 202 of file Unit.H.

◆ Area()

static Unit Unit::Area ( )
inlinestatic

Definition at line 205 of file Unit.H.

◆ Capacitance()

static Unit Unit::Capacitance ( )
inlinestatic

Definition at line 230 of file Unit.H.

◆ Charge()

static Unit Unit::Charge ( )
inlinestatic

Definition at line 227 of file Unit.H.

◆ Concentration()

static Unit Unit::Concentration ( )
inlinestatic

Definition at line 237 of file Unit.H.

◆ Conductance()

static Unit Unit::Conductance ( )
inlinestatic

Definition at line 231 of file Unit.H.

◆ Current()

static Unit Unit::Current ( )
inlinestatic

Definition at line 198 of file Unit.H.

◆ Density()

static Unit Unit::Density ( )
inlinestatic

Definition at line 216 of file Unit.H.

◆ Energy()

static Unit Unit::Energy ( )
inlinestatic

Definition at line 214 of file Unit.H.

◆ Force()

static Unit Unit::Force ( )
inlinestatic

Definition at line 210 of file Unit.H.

◆ HeatFlux()

static Unit Unit::HeatFlux ( )
inlinestatic

Definition at line 223 of file Unit.H.

◆ HeatTransferCoefficient()

static Unit Unit::HeatTransferCoefficient ( )
inlinestatic

Definition at line 224 of file Unit.H.

◆ Illuminance()

static Unit Unit::Illuminance ( )
inlinestatic

Definition at line 241 of file Unit.H.

◆ Impulse()

static Unit Unit::Impulse ( )
inlinestatic

Definition at line 212 of file Unit.H.

◆ Inductance()

static Unit Unit::Inductance ( )
inlinestatic

Definition at line 234 of file Unit.H.

◆ isType()

bool Unit::isType ( const Unit test) const
inline

Definition at line 380 of file Unit.H.

◆ Length()

static Unit Unit::Length ( )
inlinestatic

Definition at line 194 of file Unit.H.

◆ Less()

static Unit Unit::Less ( )
inlinestatic

Definition at line 193 of file Unit.H.

◆ LuminousFlux()

static Unit Unit::LuminousFlux ( )
inlinestatic

Definition at line 240 of file Unit.H.

◆ LuminousIntensity()

static Unit Unit::LuminousIntensity ( )
inlinestatic

Definition at line 200 of file Unit.H.

◆ MagneticField()

static Unit Unit::MagneticField ( )
inlinestatic

Definition at line 233 of file Unit.H.

◆ MagneticFlux()

static Unit Unit::MagneticFlux ( )
inlinestatic

Definition at line 232 of file Unit.H.

◆ Mass()

static Unit Unit::Mass ( )
inlinestatic

Definition at line 196 of file Unit.H.

◆ MolarEnergy()

static Unit Unit::MolarEnergy ( )
inlinestatic

Definition at line 238 of file Unit.H.

◆ MolarMass()

static Unit Unit::MolarMass ( )
inlinestatic

Definition at line 236 of file Unit.H.

◆ Momentum()

static Unit Unit::Momentum ( )
inlinestatic

Definition at line 211 of file Unit.H.

◆ normalized_unitstring()

std::string Unit::normalized_unitstring ( ) const
inline

Definition at line 437 of file Unit.H.

◆ normalized_value()

double Unit::normalized_value ( ) const
inline

Definition at line 428 of file Unit.H.

◆ operator*()

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

Definition at line 385 of file Unit.H.

◆ operator/()

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

Definition at line 403 of file Unit.H.

◆ operator^()

Unit Unit::operator^ ( const int &  rhs)
inline

Definition at line 410 of file Unit.H.

◆ Parse() [1/2]

static Unit Unit::Parse ( double  val,
std::string  unitstring,
bool  verbose = false 
)
inlinestatic

Definition at line 265 of file Unit.H.

◆ Parse() [2/2]

static Unit Unit::Parse ( std::string  unit,
bool  verbose = false 
)
inlinestatic

Definition at line 271 of file Unit.H.

◆ ParseUnitString()

std::map< std::string, int > Unit::ParseUnitString ( const std::string &  input)
inlinestatic

Definition at line 475 of file Unit.H.

◆ Power()

static Unit Unit::Power ( )
inlinestatic

Definition at line 215 of file Unit.H.

◆ Pressure()

static Unit Unit::Pressure ( )
inlinestatic

Definition at line 213 of file Unit.H.

◆ Resistance()

static Unit Unit::Resistance ( )
inlinestatic

Definition at line 229 of file Unit.H.

◆ setLengthUnit()

static void Unit::setLengthUnit ( std::string  unit)
inlinestatic

Definition at line 365 of file Unit.H.

◆ setTimeUnit()

static void Unit::setTimeUnit ( std::string  unit)
inlinestatic

Definition at line 372 of file Unit.H.

◆ SpecificHeatCapacity()

static Unit Unit::SpecificHeatCapacity ( )
inlinestatic

Definition at line 220 of file Unit.H.

◆ SpecificWeight()

static Unit Unit::SpecificWeight ( )
inlinestatic

Definition at line 217 of file Unit.H.

◆ StringParse()

static Unit Unit::StringParse ( std::string  unitstring,
bool  verbose = false 
)
inlinestatic

Definition at line 317 of file Unit.H.

◆ Temperature()

static Unit Unit::Temperature ( )
inlinestatic

Definition at line 197 of file Unit.H.

◆ ThermalConductivity()

static Unit Unit::ThermalConductivity ( )
inlinestatic

Definition at line 221 of file Unit.H.

◆ ThermalDiffusivity()

static Unit Unit::ThermalDiffusivity ( )
inlinestatic

Definition at line 222 of file Unit.H.

◆ Time()

static Unit Unit::Time ( )
inlinestatic

Definition at line 195 of file Unit.H.

◆ Velocity()

static Unit Unit::Velocity ( )
inlinestatic

Definition at line 207 of file Unit.H.

◆ Voltage()

static Unit Unit::Voltage ( )
inlinestatic

Definition at line 228 of file Unit.H.

◆ Volume()

static Unit Unit::Volume ( )
inlinestatic

Definition at line 206 of file Unit.H.

◆ Work()

static Unit Unit::Work ( )
inlinestatic

Definition at line 218 of file Unit.H.

Friends And Related Symbol Documentation

◆ operator*

Unit operator* ( double  lhs,
const Unit rhs 
)
friend

Definition at line 392 of file Unit.H.

◆ operator/

Unit operator/ ( double  lhs,
const Unit rhs 
)
friend

Definition at line 398 of file Unit.H.

◆ operator<<

std::ostream & operator<< ( std::ostream &  out,
const Unit a 
)
friend

Definition at line 421 of file Unit.H.

Field Documentation

◆ base_units

const std::map<std::string, std::pair<double,std::array<int,7> > > Unit::base_units
inlinestatic
Initial value:
=
{
{"1", {1.0, {0,0,0,0,0,0,0}}},
{"m", {1.0, {1,0,0,0,0,0,0}}},
{"s", {1.0, {0,1,0,0,0,0,0}}},
{"kg", {1.0, {0,0,1,0,0,0,0}}},
{"K", {1.0, {0,0,0,1,0,0,0}}},
{"A", {1.0, {0,0,0,0,1,0,0}}},
{"mol",{1.0, {0,0,0,0,0,1,0}}},
{"cd", {1.0, {0,0,0,0,0,0,1}}}
}

Definition at line 29 of file Unit.H.

◆ compound

const std::map<std::string, std::pair<double,std::string> > Unit::compound
inlinestatic

Definition at line 46 of file Unit.H.

◆ normalization

std::array<std::pair<std::string,double>, 7> Unit::normalization
inlinestatic
Initial value:
= {
std::pair{"m", 1.0},
std::pair{"s", 1.0},
std::pair{"kg", 1.0},
std::pair{"K", 1.0},
std::pair{"A", 1.0},
std::pair{"mol",1.0},
std::pair{"cd", 1.0}
}

Definition at line 250 of file Unit.H.


The documentation for this struct was generated from the following file: