units
Use physical dimensions at compile-time or run-time.
Public Member Functions | List of all members
vnix::units::basic_dyndim< T > Class Template Reference

Model of a dynamically dimensioned physical quantity. More...

#include <dimval.hpp>

Inheritance diagram for vnix::units::basic_dyndim< T >:
[legend]
Collaboration diagram for vnix::units::basic_dyndim< T >:
[legend]

Public Member Functions

template<typename OT , typename OB >
constexpr basic_dyndim (dimval< OT, OB > const &v)
 < Allow access to number. More...
 
constexpr basic_dyndim (T v)
 Convert from number. More...
 
- Public Member Functions inherited from vnix::units::dimval< T, dyndim_base >
 dimval ()
 < Allow access to dimension. More...
 
constexpr dimval (T const &v, dim const &d)
 Initialize from numeric value and from dimension. More...
 
constexpr dimval (dimval< OT, OB > const &v)
 Initialize from other dimensioned value. More...
 
constexpr dimval (T const &n)
 Initialize from dimensionless number. More...
 
constexpr T to_number () const
 Convert to dimensionless number. More...
 
constexpr dim::rat d (dim::off off) const
 Exponent for base at specified offset. More...
 
constexpr auto operator== (dimval< OT, OB > const &v) const
 Equality-comparison of two dimensioned values. More...
 
constexpr auto operator!= (dimval< OT, OB > const &v) const
 Inequality-comparison of two dimensioned values. More...
 
constexpr auto operator< (dimval< OT, OB > const &v) const
 Less-than comparison of two dimensioned values. More...
 
constexpr auto operator<= (dimval< OT, OB > const &v) const
 Less-than-or-equal comparison of two dimensioned values. More...
 
constexpr auto operator> (dimval< OT, OB > const &v) const
 Greater-than comparison of two dimensioned values. More...
 
constexpr auto operator>= (dimval< OT, OB > const &v) const
 Greater-than-or-equal comparison of two dimensioned values. More...
 
constexpr auto operator+ (dimval< OT, OB > const &v) const
 Sum of two dimensioned values. More...
 
constexpr auto operator- (dimval< OT, OB > const &v) const
 Difference between two dimensioned values. More...
 
constexpr dimvaloperator+= (dimval< OT, OB > const &v)
 Modify present instance by adding in a dimensioned value. More...
 
constexpr dimvaloperator-= (dimval< OT, OB > const &v)
 Modify present instance by subtracting out a dimensioned value. More...
 
constexpr auto operator* (OT const &n) const
 Scale dimensioned value. More...
 
constexpr auto operator* (dimval< OT, OB > const &v) const
 Multiply two dimensioned values. More...
 
constexpr auto operator[] (size_t off) const
 Support element-access in case it be supported by numeric type. More...
 
constexpr auto dot (OT const &n) const
 Support dot-product in case it be supported by numeric type. More...
 
constexpr auto dot (dimval< OT, OB > const &v) const
 Support dot-product in case it be supported by numeric type. More...
 
constexpr auto cross (OT const &n) const
 Support cross-product in case it be supported by numeric type. More...
 
constexpr auto cross (dimval< OT, OB > const &v) const
 Support cross-product in case it be supported by numeric type. More...
 
constexpr auto operator/ (OT const &n) const
 Scale dimensioned quantity by dividing by number. More...
 
constexpr auto operator/ (dimval< OT, OB > const &v) const
 Divide two dimensioned values. More...
 
constexpr dimval< T, typename dyndim_base::recip_basediminverse () const
 Invert dimensioned value. More...
 
constexpr dimvaloperator*= (OT const &v)
 Modify present instance by multiplying in a dimensionless value. More...
 
constexpr dimvaloperator/= (OT const &v)
 Modify present instance by dividing it by a dimensionless value. More...
 
constexpr auto power () const
 Raise dimensioned value to rational power. More...
 
constexpr auto power (dim::rat p) const
 Raise dimensioned value to rational power. More...
 
constexpr auto square_root () const
 Square-root of a dimensioned quantity. More...
 
- Public Member Functions inherited from vnix::units::dyndim_base
constexpr dyndim_base (dim dd)
 Initialize from exponents representing dimension. More...
 
constexpr dim d () const
 Exponent for each unit in dimensioned quantity. More...
 
constexpr void number () const
 Throw if dimension be non-null. More...
 
template<typename B >
constexpr void comparison (B const &b) const
 Test for comparison of dimensioned values. More...
 
template<typename B >
constexpr dyndim_base sum (B const &b) const
 Dimension for sum of dimensioned values. More...
 
template<typename B >
constexpr dyndim_base diff (B const &b) const
 Dimension for difference of dimensioned values. More...
 
template<typename B >
constexpr dyndim_base prod (B const &b) const
 Dimension for product of dimensioned values. More...
 
template<typename B >
constexpr dyndim_base quot (B const &b) const
 Dimension for quotient of dimensioned values. More...
 
constexpr recip_basedim recip () const
 Dimension for reciprocal of dimensioned value. More...
 
template<int64_t PN, int64_t PD = 1>
constexpr dyndim_base pow () const
 Dimension for rational power of dimensioned value. More...
 
constexpr dyndim_base pow (dim::rat p) const
 Dimension for rational power of dimensioned value. More...
 
constexpr dyndim_base sqrt () const
 Dimension for square-root of dimensioned value. More...
 

Additional Inherited Members

- Public Types inherited from vnix::units::dyndim_base
using recip_basedim = dyndim_base
 Base-dimensions corresponding to reciprocal of dimensioned quantity. More...
 
- Protected Types inherited from vnix::units::dyndim_base
using recip_basedim = dyndim_base
 Base-dimensions corresponding to reciprocal of dimensioned quantity. More...
 
- Protected Member Functions inherited from vnix::units::dimval< T, dyndim_base >
 dimval (dim const &d)
 Initialize dimension, but leave number undefined. More...
 
- Protected Member Functions inherited from vnix::units::dyndim_base
constexpr dyndim_base (dim dd)
 Initialize from exponents representing dimension. More...
 
constexpr dim d () const
 Exponent for each unit in dimensioned quantity. More...
 
constexpr void number () const
 Throw if dimension be non-null. More...
 
template<typename B >
constexpr void comparison (B const &b) const
 Test for comparison of dimensioned values. More...
 
template<typename B >
constexpr dyndim_base sum (B const &b) const
 Dimension for sum of dimensioned values. More...
 
template<typename B >
constexpr dyndim_base diff (B const &b) const
 Dimension for difference of dimensioned values. More...
 
template<typename B >
constexpr dyndim_base prod (B const &b) const
 Dimension for product of dimensioned values. More...
 
template<typename B >
constexpr dyndim_base quot (B const &b) const
 Dimension for quotient of dimensioned values. More...
 
constexpr recip_basedim recip () const
 Dimension for reciprocal of dimensioned value. More...
 
template<int64_t PN, int64_t PD = 1>
constexpr dyndim_base pow () const
 Dimension for rational power of dimensioned value. More...
 
constexpr dyndim_base pow (dim::rat p) const
 Dimension for rational power of dimensioned value. More...
 
constexpr dyndim_base sqrt () const
 Dimension for square-root of dimensioned value. More...
 

Detailed Description

template<typename T>
class vnix::units::basic_dyndim< T >

Model of a dynamically dimensioned physical quantity.

Template Parameters
TType of numeric value.

Definition at line 23 of file dimval.hpp.

Constructor & Destructor Documentation

template<typename T >
template<typename OT , typename OB >
constexpr vnix::units::basic_dyndim< T >::basic_dyndim ( dimval< OT, OB > const &  v)
inline

< Allow access to number.

Initialize from other dimensioned value.

Template Parameters
OTNumeric type of other dimensioned value.
OBDimension-base of other dimensioned value.
Parameters
vReference to other dimensioned value.

Definition at line 476 of file dimval.hpp.

477  : dimval<T, dyndim_base>(v) {}
template<typename T >
constexpr vnix::units::basic_dyndim< T >::basic_dyndim ( v)
inline

Convert from number.

Parameters
vNumber.

Definition at line 481 of file dimval.hpp.

481 : dimval<T, dyndim_base>(v, dim()) {}
basic_dim< dim_base_off > dim
Define dim as specification of basic_dim by way of YAML- and ERB-generated type dim_base_off.
Definition: dim.hpp:260

Here is the call graph for this function:


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