Physical Quantities  v1.0.0
C++ library of physical quantities, physical models, and units of measure for scientific computing. https://github.com/acodcha/phq
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | List of all members
PhQ::SpecificIsochoricHeatCapacity< NumericType > Class Template Reference

Mass-specific isochoric heat capacity, also known as mass-specific heat capacity at constant volume, or isochoric heat capacity per unit mass; see PhQ::IsochoricHeatCapacity and PhQ::Mass. More...

#include "SpecificIsochoricHeatCapacity.hpp"

Public Member Functions

 SpecificIsochoricHeatCapacity ()=default
 Default constructor. Constructs a specific isochoric heat capacity with an uninitialized value. More...
 
 SpecificIsochoricHeatCapacity (const NumericType value, const Unit::SpecificHeatCapacity unit)
 Constructor. Constructs a specific isochoric heat capacity with a given value expressed in a given specific heat capacity unit. More...
 
constexpr SpecificIsochoricHeatCapacity (const SpecificIsobaricHeatCapacity< NumericType > &specific_isobaric_heat_capacity, const SpecificGasConstant< NumericType > &specific_gas_constant)
 Constructor. Constructs a specific isochoric heat capacity from a given specific gas constant and specific isobaric heat capacity using Mayer's relation. More...
 
constexpr SpecificIsochoricHeatCapacity (const SpecificGasConstant< NumericType > &specific_gas_constant, const HeatCapacityRatio< NumericType > &heat_capacity_ratio)
 Constructor. Constructs a specific isochoric heat capacity from a given specific gas constant and heat capacity ratio using the definition of the heat capacity ratio and Mayer's relation. More...
 
constexpr SpecificIsochoricHeatCapacity (const SpecificIsobaricHeatCapacity< NumericType > &specific_isobaric_heat_capacity, const HeatCapacityRatio< NumericType > &heat_capacity_ratio)
 Constructor. Constructs a specific isochoric heat capacity from a given specific isobaric heat capacity and heat capacity ratio using the definition of the heat capacity ratio. More...
 
constexpr SpecificIsochoricHeatCapacity (const IsochoricHeatCapacity< NumericType > &isochoric_heat_capacity, const Mass< NumericType > &mass)
 Constructor. Constructs a specific isochoric heat capacity from a given isochoric heat capacity and mass using the definition of the specific isochoric heat capacity. More...
 
 ~SpecificIsochoricHeatCapacity () noexcept=default
 Destructor. Destroys this specific isochoric heat capacity. More...
 
constexpr SpecificIsochoricHeatCapacity (const SpecificIsochoricHeatCapacity< NumericType > &other)=default
 Copy constructor. Constructs a specific isochoric heat capacity by copying another one. More...
 
template<typename OtherNumericType >
constexpr SpecificIsochoricHeatCapacity (const SpecificIsochoricHeatCapacity< OtherNumericType > &other)
 Copy constructor. Constructs a specific isochoric heat capacity by copying another one. More...
 
constexpr SpecificIsochoricHeatCapacity (SpecificIsochoricHeatCapacity< NumericType > &&other) noexcept=default
 Move constructor. Constructs a specific isochoric heat capacity by moving another one. More...
 
constexpr SpecificIsochoricHeatCapacity< NumericType > & operator= (const SpecificIsochoricHeatCapacity< NumericType > &other)=default
 Copy assignment operator. Assigns this specific isochoric heat capacity by copying another one. More...
 
template<typename OtherNumericType >
constexpr SpecificIsochoricHeatCapacity< NumericType > & operator= (const SpecificIsochoricHeatCapacity< OtherNumericType > &other)
 Copy assignment operator. Assigns this specific isochoric heat capacity by copying another one. More...
 
constexpr SpecificIsochoricHeatCapacity< NumericType > & operator= (SpecificIsochoricHeatCapacity< NumericType > &&other) noexcept=default
 Move assignment operator. Assigns this specific isochoric heat capacity by moving another one. More...
 
constexpr SpecificIsochoricHeatCapacity< NumericType > operator+ (const SpecificIsochoricHeatCapacity< NumericType > &specific_isochoric_heat_capacity) const
 
constexpr SpecificIsobaricHeatCapacity< NumericType > operator+ (const SpecificGasConstant< NumericType > &specific_gas_constant) const
 
constexpr SpecificIsochoricHeatCapacity< NumericType > operator- (const SpecificIsochoricHeatCapacity< NumericType > &specific_isochoric_heat_capacity) const
 
constexpr SpecificIsochoricHeatCapacity< NumericType > operator* (const NumericType number) const
 
constexpr IsochoricHeatCapacity< NumericType > operator* (const Mass< NumericType > &mass) const
 
constexpr SpecificIsobaricHeatCapacity< NumericType > operator* (const HeatCapacityRatio< NumericType > &heat_capacity_ratio) const
 
constexpr SpecificIsochoricHeatCapacity< NumericType > operator/ (const NumericType number) const
 
constexpr NumericType operator/ (const SpecificIsochoricHeatCapacity< NumericType > &specific_isochoric_heat_capacity) const noexcept
 
constexpr void operator+= (const SpecificIsochoricHeatCapacity< NumericType > &specific_isochoric_heat_capacity) noexcept
 
constexpr void operator-= (const SpecificIsochoricHeatCapacity< NumericType > &specific_isochoric_heat_capacity) noexcept
 
constexpr void operator*= (const NumericType number) noexcept
 
constexpr void operator/= (const NumericType number) noexcept
 
constexpr double Value () const noexcept
 Value of this physical quantity expressed in its standard unit of measure. More...
 
double Value (const Unit::SpecificHeatCapacity unit) const
 Value of this physical quantity expressed in a given unit of measure. More...
 
constexpr double StaticValue () const
 Value of this physical quantity expressed in a given unit of measure. This method can be evaluated statically at compile-time. More...
 
constexpr double & MutableValue () noexcept
 Returns the value of this physical quantity expressed in its standard unit of measure as a mutable value. More...
 
constexpr void SetValue (const double value) noexcept
 Sets the value of this physical quantity expressed in its standard unit of measure to the given value. More...
 
std::string Print () const
 Prints this physical quantity as a string. This physical quantity's value is expressed in its standard unit of measure. More...
 
std::string Print (const Unit::SpecificHeatCapacity unit) const
 Prints this physical quantity as a string. This physical quantity's value is expressed in the given unit of measure. More...
 
std::string JSON () const
 Serializes this physical quantity as a JSON message. This physical quantity's value is expressed in its standard unit of measure. More...
 
std::string JSON (const Unit::SpecificHeatCapacity unit) const
 Serializes this physical quantity as a JSON message. This physical quantity's value is expressed in the given unit of measure. More...
 
std::string XML () const
 Serializes this physical quantity as an XML message. This physical quantity's value is expressed in its standard unit of measure. More...
 
std::string XML (const Unit::SpecificHeatCapacity unit) const
 Serializes this physical quantity as an XML message. This physical quantity's value is expressed in the given unit of measure. More...
 
std::string YAML () const
 Serializes this physical quantity as a YAML message. This physical quantity's value is expressed in its standard unit of measure. More...
 
std::string YAML (const Unit::SpecificHeatCapacity unit) const
 Serializes this physical quantity as a YAML message. This physical quantity's value is expressed in the given unit of measure. More...
 

Static Public Member Functions

static constexpr SpecificIsochoricHeatCapacity< NumericType > Zero ()
 Statically creates a specific isochoric heat capacity of zero. More...
 
template<Unit::SpecificHeatCapacity Unit>
static constexpr SpecificIsochoricHeatCapacity< NumericType > Create (const NumericType value)
 Statically creates a specific isochoric heat capacity with a given value expressed in a given specific heat capacity unit. More...
 
static constexpr const PhQ::DimensionsDimensions ()
 Physical dimension set of this physical quantity. More...
 
static constexpr Unit::SpecificHeatCapacity Unit ()
 Standard unit of measure for this physical quantity. This physical quantity's value is stored internally in this unit of measure. More...
 

Protected Attributes

double value
 Value of this physical quantity expressed in its standard unit of measure. More...
 

Private Member Functions

constexpr SpecificIsochoricHeatCapacity (const NumericType value)
 Constructor. Constructs a specific isochoric heat capacity with a given value expressed in the standard specific heat capacity unit. More...
 

Detailed Description

template<typename NumericType = double>
class PhQ::SpecificIsochoricHeatCapacity< NumericType >

Mass-specific isochoric heat capacity, also known as mass-specific heat capacity at constant volume, or isochoric heat capacity per unit mass; see PhQ::IsochoricHeatCapacity and PhQ::Mass.

Definition at line 44 of file SpecificIsochoricHeatCapacity.hpp.

Constructor & Destructor Documentation

◆ SpecificIsochoricHeatCapacity() [1/10]

template<typename NumericType = double>
PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( )
default

Default constructor. Constructs a specific isochoric heat capacity with an uninitialized value.

◆ SpecificIsochoricHeatCapacity() [2/10]

template<typename NumericType = double>
PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( const NumericType  value,
const Unit::SpecificHeatCapacity  unit 
)
inline

Constructor. Constructs a specific isochoric heat capacity with a given value expressed in a given specific heat capacity unit.

Definition at line 53 of file SpecificIsochoricHeatCapacity.hpp.

◆ SpecificIsochoricHeatCapacity() [3/10]

template<typename NumericType >
constexpr PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( const SpecificIsobaricHeatCapacity< NumericType > &  specific_isobaric_heat_capacity,
const SpecificGasConstant< NumericType > &  specific_gas_constant 
)
inlineconstexpr

Constructor. Constructs a specific isochoric heat capacity from a given specific gas constant and specific isobaric heat capacity using Mayer's relation.

Definition at line 264 of file SpecificGasConstant.hpp.

◆ SpecificIsochoricHeatCapacity() [4/10]

template<typename NumericType >
constexpr PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( const SpecificGasConstant< NumericType > &  specific_gas_constant,
const HeatCapacityRatio< NumericType > &  heat_capacity_ratio 
)
inlineconstexpr

Constructor. Constructs a specific isochoric heat capacity from a given specific gas constant and heat capacity ratio using the definition of the heat capacity ratio and Mayer's relation.

Definition at line 271 of file SpecificGasConstant.hpp.

◆ SpecificIsochoricHeatCapacity() [5/10]

template<typename NumericType >
constexpr PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( const SpecificIsobaricHeatCapacity< NumericType > &  specific_isobaric_heat_capacity,
const HeatCapacityRatio< NumericType > &  heat_capacity_ratio 
)
inlineconstexpr

Constructor. Constructs a specific isochoric heat capacity from a given specific isobaric heat capacity and heat capacity ratio using the definition of the heat capacity ratio.

Definition at line 313 of file SpecificIsobaricHeatCapacity.hpp.

◆ SpecificIsochoricHeatCapacity() [6/10]

template<typename NumericType = double>
constexpr PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( const IsochoricHeatCapacity< NumericType > &  isochoric_heat_capacity,
const Mass< NumericType > &  mass 
)
inlineconstexpr

Constructor. Constructs a specific isochoric heat capacity from a given isochoric heat capacity and mass using the definition of the specific isochoric heat capacity.

Definition at line 78 of file SpecificIsochoricHeatCapacity.hpp.

◆ ~SpecificIsochoricHeatCapacity()

template<typename NumericType = double>
PhQ::SpecificIsochoricHeatCapacity< NumericType >::~SpecificIsochoricHeatCapacity ( )
defaultnoexcept

Destructor. Destroys this specific isochoric heat capacity.

◆ SpecificIsochoricHeatCapacity() [7/10]

template<typename NumericType = double>
constexpr PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( const SpecificIsochoricHeatCapacity< NumericType > &  other)
constexprdefault

Copy constructor. Constructs a specific isochoric heat capacity by copying another one.

◆ SpecificIsochoricHeatCapacity() [8/10]

template<typename NumericType = double>
template<typename OtherNumericType >
constexpr PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( const SpecificIsochoricHeatCapacity< OtherNumericType > &  other)
inlineexplicitconstexpr

Copy constructor. Constructs a specific isochoric heat capacity by copying another one.

Definition at line 92 of file SpecificIsochoricHeatCapacity.hpp.

◆ SpecificIsochoricHeatCapacity() [9/10]

template<typename NumericType = double>
constexpr PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( SpecificIsochoricHeatCapacity< NumericType > &&  other)
constexprdefaultnoexcept

Move constructor. Constructs a specific isochoric heat capacity by moving another one.

◆ SpecificIsochoricHeatCapacity() [10/10]

template<typename NumericType = double>
constexpr PhQ::SpecificIsochoricHeatCapacity< NumericType >::SpecificIsochoricHeatCapacity ( const NumericType  value)
inlineexplicitconstexprprivate

Constructor. Constructs a specific isochoric heat capacity with a given value expressed in the standard specific heat capacity unit.

Definition at line 191 of file SpecificIsochoricHeatCapacity.hpp.

Member Function Documentation

◆ Create()

template<typename NumericType = double>
template<Unit::SpecificHeatCapacity Unit>
static constexpr SpecificIsochoricHeatCapacity<NumericType> PhQ::SpecificIsochoricHeatCapacity< NumericType >::Create ( const NumericType  value)
inlinestaticconstexpr

Statically creates a specific isochoric heat capacity with a given value expressed in a given specific heat capacity unit.

Definition at line 127 of file SpecificIsochoricHeatCapacity.hpp.

References PhQ::DimensionalScalar< Unit::SpecificHeatCapacity, double >::value.

◆ Dimensions()

static constexpr const PhQ::Dimensions& PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::Dimensions ( )
inlinestaticconstexprinherited

Physical dimension set of this physical quantity.

Definition at line 54 of file DimensionalScalar.hpp.

◆ JSON() [1/2]

std::string PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::JSON ( ) const
inlineinherited

Serializes this physical quantity as a JSON message. This physical quantity's value is expressed in its standard unit of measure.

Definition at line 107 of file DimensionalScalar.hpp.

◆ JSON() [2/2]

std::string PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::JSON ( const UnitType  unit) const
inlineinherited

Serializes this physical quantity as a JSON message. This physical quantity's value is expressed in the given unit of measure.

Definition at line 117 of file DimensionalScalar.hpp.

◆ MutableValue()

constexpr double & PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::MutableValue ( )
inlineconstexprnoexceptinherited

Returns the value of this physical quantity expressed in its standard unit of measure as a mutable value.

Definition at line 83 of file DimensionalScalar.hpp.

◆ operator*() [1/3]

template<typename NumericType >
constexpr SpecificIsobaricHeatCapacity< NumericType > PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator* ( const HeatCapacityRatio< NumericType > &  heat_capacity_ratio) const
inlineconstexpr

Definition at line 334 of file SpecificIsobaricHeatCapacity.hpp.

◆ operator*() [2/3]

template<typename NumericType = double>
constexpr IsochoricHeatCapacity<NumericType> PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator* ( const Mass< NumericType > &  mass) const
inlineconstexpr

Definition at line 153 of file SpecificIsochoricHeatCapacity.hpp.

◆ operator*() [3/3]

template<typename NumericType = double>
constexpr SpecificIsochoricHeatCapacity<NumericType> PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator* ( const NumericType  number) const
inlineconstexpr

◆ operator*=()

template<typename NumericType = double>
constexpr void PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator*= ( const NumericType  number)
inlineconstexprnoexcept

◆ operator+() [1/2]

template<typename NumericType >
constexpr SpecificIsobaricHeatCapacity< NumericType > PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator+ ( const SpecificGasConstant< NumericType > &  specific_gas_constant) const
inlineconstexpr

Definition at line 294 of file SpecificGasConstant.hpp.

◆ operator+() [2/2]

template<typename NumericType = double>
constexpr SpecificIsochoricHeatCapacity<NumericType> PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator+ ( const SpecificIsochoricHeatCapacity< NumericType > &  specific_isochoric_heat_capacity) const
inlineconstexpr

◆ operator+=()

template<typename NumericType = double>
constexpr void PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator+= ( const SpecificIsochoricHeatCapacity< NumericType > &  specific_isochoric_heat_capacity)
inlineconstexprnoexcept

◆ operator-()

template<typename NumericType = double>
constexpr SpecificIsochoricHeatCapacity<NumericType> PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator- ( const SpecificIsochoricHeatCapacity< NumericType > &  specific_isochoric_heat_capacity) const
inlineconstexpr

◆ operator-=()

template<typename NumericType = double>
constexpr void PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator-= ( const SpecificIsochoricHeatCapacity< NumericType > &  specific_isochoric_heat_capacity)
inlineconstexprnoexcept

◆ operator/() [1/2]

template<typename NumericType = double>
constexpr SpecificIsochoricHeatCapacity<NumericType> PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator/ ( const NumericType  number) const
inlineconstexpr

◆ operator/() [2/2]

template<typename NumericType = double>
constexpr NumericType PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator/ ( const SpecificIsochoricHeatCapacity< NumericType > &  specific_isochoric_heat_capacity) const
inlineconstexprnoexcept

◆ operator/=()

template<typename NumericType = double>
constexpr void PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator/= ( const NumericType  number)
inlineconstexprnoexcept

◆ operator=() [1/3]

template<typename NumericType = double>
constexpr SpecificIsochoricHeatCapacity<NumericType>& PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator= ( const SpecificIsochoricHeatCapacity< NumericType > &  other)
constexprdefault

Copy assignment operator. Assigns this specific isochoric heat capacity by copying another one.

◆ operator=() [2/3]

template<typename NumericType = double>
template<typename OtherNumericType >
constexpr SpecificIsochoricHeatCapacity<NumericType>& PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator= ( const SpecificIsochoricHeatCapacity< OtherNumericType > &  other)
inlineconstexpr

Copy assignment operator. Assigns this specific isochoric heat capacity by copying another one.

Definition at line 108 of file SpecificIsochoricHeatCapacity.hpp.

References PhQ::DimensionalScalar< UnitType, NumericType >::Value(), and PhQ::DimensionalScalar< Unit::SpecificHeatCapacity, double >::value.

◆ operator=() [3/3]

template<typename NumericType = double>
constexpr SpecificIsochoricHeatCapacity<NumericType>& PhQ::SpecificIsochoricHeatCapacity< NumericType >::operator= ( SpecificIsochoricHeatCapacity< NumericType > &&  other)
constexprdefaultnoexcept

Move assignment operator. Assigns this specific isochoric heat capacity by moving another one.

◆ Print() [1/2]

std::string PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::Print ( ) const
inlineinherited

Prints this physical quantity as a string. This physical quantity's value is expressed in its standard unit of measure.

Definition at line 95 of file DimensionalScalar.hpp.

◆ Print() [2/2]

std::string PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::Print ( const UnitType  unit) const
inlineinherited

Prints this physical quantity as a string. This physical quantity's value is expressed in the given unit of measure.

Definition at line 101 of file DimensionalScalar.hpp.

◆ SetValue()

constexpr void PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::SetValue ( const NumericType  value)
inlineconstexprnoexceptinherited

Sets the value of this physical quantity expressed in its standard unit of measure to the given value.

Definition at line 89 of file DimensionalScalar.hpp.

◆ StaticValue()

constexpr double PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::StaticValue ( ) const
inlineconstexprinherited

Value of this physical quantity expressed in a given unit of measure. This method can be evaluated statically at compile-time.

Definition at line 77 of file DimensionalScalar.hpp.

◆ Unit()

static constexpr Unit::SpecificHeatCapacity PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::Unit ( )
inlinestaticconstexprinherited

Standard unit of measure for this physical quantity. This physical quantity's value is stored internally in this unit of measure.

Definition at line 60 of file DimensionalScalar.hpp.

◆ Value() [1/2]

constexpr double PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::Value ( ) const
inlineconstexprnoexceptinherited

Value of this physical quantity expressed in its standard unit of measure.

Definition at line 65 of file DimensionalScalar.hpp.

◆ Value() [2/2]

double PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::Value ( const UnitType  unit) const
inlineinherited

Value of this physical quantity expressed in a given unit of measure.

Definition at line 70 of file DimensionalScalar.hpp.

◆ XML() [1/2]

std::string PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::XML ( ) const
inlineinherited

Serializes this physical quantity as an XML message. This physical quantity's value is expressed in its standard unit of measure.

Definition at line 127 of file DimensionalScalar.hpp.

◆ XML() [2/2]

std::string PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::XML ( const UnitType  unit) const
inlineinherited

Serializes this physical quantity as an XML message. This physical quantity's value is expressed in the given unit of measure.

Definition at line 137 of file DimensionalScalar.hpp.

◆ YAML() [1/2]

std::string PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::YAML ( ) const
inlineinherited

Serializes this physical quantity as a YAML message. This physical quantity's value is expressed in its standard unit of measure.

Definition at line 147 of file DimensionalScalar.hpp.

◆ YAML() [2/2]

std::string PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::YAML ( const UnitType  unit) const
inlineinherited

Serializes this physical quantity as a YAML message. This physical quantity's value is expressed in the given unit of measure.

Definition at line 157 of file DimensionalScalar.hpp.

◆ Zero()

template<typename NumericType = double>
static constexpr SpecificIsochoricHeatCapacity<NumericType> PhQ::SpecificIsochoricHeatCapacity< NumericType >::Zero ( )
inlinestaticconstexpr

Statically creates a specific isochoric heat capacity of zero.

Definition at line 120 of file SpecificIsochoricHeatCapacity.hpp.

Member Data Documentation

◆ value

double PhQ::DimensionalScalar< Unit::SpecificHeatCapacity , double >::value
protectedinherited

Value of this physical quantity expressed in its standard unit of measure.

Definition at line 221 of file DimensionalScalar.hpp.


The documentation for this class was generated from the following files: