コンテンツにスキップ

cpp_robotics::unit

単位系

Namespaces

Name
cpp_robotics::unit::prefix
cpp_robotics::unit::tag
cpp_robotics::unit_dimention

Classes

Name
struct cpp_robotics::UnitType
SI単位系次元定義クラス
struct cpp_robotics::unit::Prefix
単位系接頭辞クラス
class cpp_robotics::unit::Unit
単位クラス

Types

Name
enum UnitIndex
using unit_assem::unit_div< Torque, Ampere >::unit TorqueConstant
using unit_assem::unit_div< Volt, AngularVelocity >::unit BackEmfConstant
using unit_assem::unit_mul< Torque, Second >::unit FrictionConstant
using Unit< double, unit_dimention::second, prefix::none > Second
using Unit< double, unit_dimention::second, prefix::milli > MilliSecond
using Unit< double, unit_dimention::second, prefix::micro > MicroSecond
using Unit< double, unit_dimention::metere, prefix::none > Meter
using Unit< double, unit_dimention::metere, prefix::milli > MilliMeter
using Unit< double, unit_dimention::metere, prefix::micro > MicroMeter
using Unit< double, unit_dimention::metere, prefix::centi > CentiMeter
using Unit< double, unit_dimention::kilogram, prefix::none > KiloGram
using Unit< double, unit_dimention::kilogram, prefix::milli > Gram
using Unit< double, unit_dimention::watt, prefix::none > Watt
using Unit< double, unit_dimention::watt, prefix::kilo > KiloWatt
using Unit< double, unit_dimention::newton, prefix::none > Newton
using Unit< double, unit_dimention::newton, prefix::kilo > KiloNewton
using Unit< double, unit_dimention::pascal, prefix::none > Pascal
using Unit< double, unit_dimention::pascal, prefix::kilo > KiloPascal
using Unit< double, unit_dimention::hertz, prefix::none > Hertz
using Unit< double, unit_dimention::area, prefix::none > Area
using Unit< double, unit_dimention::volume, prefix::none > Volume
using Unit< double, unit_dimention::velocity, prefix::none > Velocity
using Unit< double, unit_dimention::acceleration, prefix::none > Acceleration
using Unit< double, unit_dimention::dencity, prefix::none > Dencity
using Unit< double, unit_dimention::torque, prefix::none > Torque
using Unit< double, unit_dimention::inertia, prefix::none > Inertia
using Unit< double, unit_dimention::ampere, prefix::none > Ampere
using Unit< double, unit_dimention::ampere, prefix::milli > MilliAmpere
using Unit< double, unit_dimention::volt, prefix::none > Volt
using Unit< double, unit_dimention::volt, prefix::milli > MilliVolt
using Unit< double, unit_dimention::ohm, prefix::none > Ohm
using Unit< double, unit_dimention::ohm, prefix::milli > MilliOhm
using Unit< double, unit_dimention::henry, prefix::none > Henry
using Unit< double, unit_dimention::henry, prefix::milli > MilliHenry
using Unit< double, unit_dimention::farad, prefix::none > Farad
using Unit< double, unit_dimention::farad, prefix::milli > MilliFarad
using Unit< double, unit_dimention::farad, prefix::micro > MicroFarad
using Unit< double, unit_dimention::farad, prefix::nano > NanoFarad
using Unit< double, unit_dimention::angle, prefix::none, tag::angle::radian > Radian
using Unit< double, unit_dimention::angle, prefix::none, tag::angle::degree > Degree
using Unit< double, unit_dimention::angular_velocity, prefix::none, tag::angular_vel::rad_per_sec > AngularVelocity
using Unit< double, unit_dimention::angular_velocity, prefix::none, tag::angular_vel::rps > Rps
using Unit< double, unit_dimention::angular_velocity, prefix::none, tag::angular_vel::rpm > Rpm
using Unit< double, unit_dimention::angular_acceleration, prefix::none > AngularAcceleration

Functions

Name
template <class UnitDimType ,int FromTag,int ToTag,bool IsNormalTag =tag::is_normal_tag::value && tag::is_normal_tag::value>
constexpr double
conv_factor()
template <typename T1 ,typename T2 ,class UnitDim ,class Prefix ,int Tag>
constexpr auto
operator*(const Unit< T1, UnitDim, Prefix, Tag > & l_value, const T2 & r_value)
template <typename T1 ,typename T2 ,class UnitDim ,class Prefix ,int Tag>
constexpr auto
operator*(const T1 & l_value, const Unit< T2, UnitDim, Prefix, Tag > & r_value)
template <typename T1 ,typename T2 ,class UnitDim ,class Prefix ,int Tag>
constexpr auto
operator/(const T1 & l_value, const Unit< T2, UnitDim, Prefix, Tag > & r_value)
template <typename T1 ,typename T2 ,class UnitDim ,class Prefix ,int Tag>
constexpr auto
operator/(const Unit< T1, UnitDim, Prefix, Tag > & l_value, const T2 & r_value)
template <typename T1 ,class UnitDim1 ,class Prefix1 ,int Tag1,typename T2 ,class UnitDim2 ,class Prefix2 ,int Tag2>
constexpr auto
operator*(const Unit< T1, UnitDim1, Prefix1, Tag1 > & lhl, const Unit< T2, UnitDim2, Prefix2, Tag2 > & rhl)
template <typename T1 ,class UnitDim1 ,class Prefix1 ,int Tag1,typename T2 ,class UnitDim2 ,class Prefix2 ,int Tag2>
constexpr auto
operator/(const Unit< T1, UnitDim1, Prefix1, Tag1 > & lhl, const Unit< T2, UnitDim2, Prefix2, Tag2 > & rhl)
template <typename T ,class UnitDim ,class Prefix1 ,class Prefix2 ,int Tag>
constexpr auto
operator+(const Unit< T, UnitDim, Prefix1, Tag > & lhl, const Unit< T, UnitDim, Prefix2, Tag > & rhl)
template <typename T ,class UnitDim ,class Prefix1 ,class Prefix2 ,int Tag>
constexpr auto
operator-(const Unit< T, UnitDim, Prefix1, Tag > & lhl, const Unit< T, UnitDim, Prefix2, Tag > & rhl)

Types Documentation

enum UnitIndex

Enumerator Value Description
MetereIdx
KiloGramIdx
SecondIdx
AmpereIdx
KelvinIdx
MoleIdx
CandelaIdx

using TorqueConstant

using cpp_robotics::unit::TorqueConstant = typedef unit_assem::unit_div<Torque, Ampere>::unit;

using BackEmfConstant

using cpp_robotics::unit::BackEmfConstant = typedef unit_assem::unit_div<Volt, AngularVelocity>::unit;

using FrictionConstant

using cpp_robotics::unit::FrictionConstant = typedef unit_assem::unit_mul<Torque, Second>::unit;

using Second

using cpp_robotics::unit::Second = typedef Unit<double, unit_dimention::second, prefix::none>;

using MilliSecond

using cpp_robotics::unit::MilliSecond = typedef Unit<double, unit_dimention::second, prefix::milli>;

using MicroSecond

using cpp_robotics::unit::MicroSecond = typedef Unit<double, unit_dimention::second, prefix::micro>;

using Meter

using cpp_robotics::unit::Meter = typedef Unit<double, unit_dimention::metere, prefix::none>;

using MilliMeter

using cpp_robotics::unit::MilliMeter = typedef Unit<double, unit_dimention::metere, prefix::milli>;

using MicroMeter

using cpp_robotics::unit::MicroMeter = typedef Unit<double, unit_dimention::metere, prefix::micro>;

using CentiMeter

using cpp_robotics::unit::CentiMeter = typedef Unit<double, unit_dimention::metere, prefix::centi>;

using KiloGram

using cpp_robotics::unit::KiloGram = typedef Unit<double, unit_dimention::kilogram, prefix::none>;

using Gram

using cpp_robotics::unit::Gram = typedef Unit<double, unit_dimention::kilogram, prefix::milli>;

using Watt

using cpp_robotics::unit::Watt = typedef Unit<double, unit_dimention::watt, prefix::none>;

using KiloWatt

using cpp_robotics::unit::KiloWatt = typedef Unit<double, unit_dimention::watt, prefix::kilo>;

using Newton

using cpp_robotics::unit::Newton = typedef Unit<double, unit_dimention::newton, prefix::none>;

using KiloNewton

using cpp_robotics::unit::KiloNewton = typedef Unit<double, unit_dimention::newton, prefix::kilo>;

using Pascal

using cpp_robotics::unit::Pascal = typedef Unit<double, unit_dimention::pascal, prefix::none>;

using KiloPascal

using cpp_robotics::unit::KiloPascal = typedef Unit<double, unit_dimention::pascal, prefix::kilo>;

using Hertz

using cpp_robotics::unit::Hertz = typedef Unit<double, unit_dimention::hertz, prefix::none>;

using Area

using cpp_robotics::unit::Area = typedef Unit<double, unit_dimention::area, prefix::none>;

using Volume

using cpp_robotics::unit::Volume = typedef Unit<double, unit_dimention::volume, prefix::none>;

using Velocity

using cpp_robotics::unit::Velocity = typedef Unit<double, unit_dimention::velocity, prefix::none>;

using Acceleration

using cpp_robotics::unit::Acceleration = typedef Unit<double, unit_dimention::acceleration, prefix::none>;

using Dencity

using cpp_robotics::unit::Dencity = typedef Unit<double, unit_dimention::dencity, prefix::none>;

using Torque

using cpp_robotics::unit::Torque = typedef Unit<double, unit_dimention::torque, prefix::none>;

using Inertia

using cpp_robotics::unit::Inertia = typedef Unit<double, unit_dimention::inertia, prefix::none>;

using Ampere

using cpp_robotics::unit::Ampere = typedef Unit<double, unit_dimention::ampere, prefix::none>;

using MilliAmpere

using cpp_robotics::unit::MilliAmpere = typedef Unit<double, unit_dimention::ampere, prefix::milli>;

using Volt

using cpp_robotics::unit::Volt = typedef Unit<double, unit_dimention::volt, prefix::none>;

using MilliVolt

using cpp_robotics::unit::MilliVolt = typedef Unit<double, unit_dimention::volt, prefix::milli>;

using Ohm

using cpp_robotics::unit::Ohm = typedef Unit<double, unit_dimention::ohm, prefix::none>;

using MilliOhm

using cpp_robotics::unit::MilliOhm = typedef Unit<double, unit_dimention::ohm, prefix::milli>;

using Henry

using cpp_robotics::unit::Henry = typedef Unit<double, unit_dimention::henry, prefix::none>;

using MilliHenry

using cpp_robotics::unit::MilliHenry = typedef Unit<double, unit_dimention::henry, prefix::milli>;

using Farad

using cpp_robotics::unit::Farad = typedef Unit<double, unit_dimention::farad, prefix::none>;

using MilliFarad

using cpp_robotics::unit::MilliFarad = typedef Unit<double, unit_dimention::farad, prefix::milli>;

using MicroFarad

using cpp_robotics::unit::MicroFarad = typedef Unit<double, unit_dimention::farad, prefix::micro>;

using NanoFarad

using cpp_robotics::unit::NanoFarad = typedef Unit<double, unit_dimention::farad, prefix::nano>;

using Radian

using cpp_robotics::unit::Radian = typedef Unit<double, unit_dimention::angle, prefix::none, tag::angle::radian>;

using Degree

using cpp_robotics::unit::Degree = typedef Unit<double, unit_dimention::angle, prefix::none, tag::angle::degree>;

using AngularVelocity

using cpp_robotics::unit::AngularVelocity = typedef Unit<double, unit_dimention::angular_velocity, prefix::none, tag::angular_vel::rad_per_sec>;

using Rps

using cpp_robotics::unit::Rps = typedef Unit<double, unit_dimention::angular_velocity, prefix::none, tag::angular_vel::rps>;

using Rpm

using cpp_robotics::unit::Rpm = typedef Unit<double, unit_dimention::angular_velocity, prefix::none, tag::angular_vel::rpm>;

using AngularAcceleration

using cpp_robotics::unit::AngularAcceleration = typedef Unit<double, unit_dimention::angular_acceleration, prefix::none>;

Functions Documentation

function conv_factor

template <class UnitDimType ,
int FromTag,
int ToTag,
bool IsNormalTag =tag::is_normal_tag<FromTag>::value && tag::is_normal_tag<ToTag>::value>
constexpr double conv_factor()

function operator*

template <typename T1 ,
typename T2 ,
class UnitDim ,
class Prefix ,
int Tag>
constexpr auto operator*(
    const Unit< T1, UnitDim, Prefix, Tag > & l_value,
    const T2 & r_value
)

function operator*

template <typename T1 ,
typename T2 ,
class UnitDim ,
class Prefix ,
int Tag>
constexpr auto operator*(
    const T1 & l_value,
    const Unit< T2, UnitDim, Prefix, Tag > & r_value
)

function operator/

template <typename T1 ,
typename T2 ,
class UnitDim ,
class Prefix ,
int Tag>
constexpr auto operator/(
    const T1 & l_value,
    const Unit< T2, UnitDim, Prefix, Tag > & r_value
)

function operator/

template <typename T1 ,
typename T2 ,
class UnitDim ,
class Prefix ,
int Tag>
constexpr auto operator/(
    const Unit< T1, UnitDim, Prefix, Tag > & l_value,
    const T2 & r_value
)

function operator*

template <typename T1 ,
class UnitDim1 ,
class Prefix1 ,
int Tag1,
typename T2 ,
class UnitDim2 ,
class Prefix2 ,
int Tag2>
constexpr auto operator*(
    const Unit< T1, UnitDim1, Prefix1, Tag1 > & lhl,
    const Unit< T2, UnitDim2, Prefix2, Tag2 > & rhl
)

function operator/

template <typename T1 ,
class UnitDim1 ,
class Prefix1 ,
int Tag1,
typename T2 ,
class UnitDim2 ,
class Prefix2 ,
int Tag2>
constexpr auto operator/(
    const Unit< T1, UnitDim1, Prefix1, Tag1 > & lhl,
    const Unit< T2, UnitDim2, Prefix2, Tag2 > & rhl
)

function operator+

template <typename T ,
class UnitDim ,
class Prefix1 ,
class Prefix2 ,
int Tag>
constexpr auto operator+(
    const Unit< T, UnitDim, Prefix1, Tag > & lhl,
    const Unit< T, UnitDim, Prefix2, Tag > & rhl
)

function operator-

template <typename T ,
class UnitDim ,
class Prefix1 ,
class Prefix2 ,
int Tag>
constexpr auto operator-(
    const Unit< T, UnitDim, Prefix1, Tag > & lhl,
    const Unit< T, UnitDim, Prefix2, Tag > & rhl
)

Updated on 2024-05-28 at 06:55:40 +0000