units_unit(3)

units::unit< Conversion, BaseUnit, PiExponent, Translation >(3) Unit Conversion and Dimensional Analysis Library units::unit< Conversion, BaseUnit, PiExponent, Translation >(3)

NAME

units::unit< Conversion, BaseUnit, PiExponent, Translation > - Type representing an arbitrary unit.

SYNOPSIS

#include <units.h>

Inherits units::detail::_unit.

Public Types


typedef units::traits::unit_traits< BaseUnit >::base_unit_type base_unit_type
typedef std::ratio_multiply< typename BaseUnit::conversion_ratio, Conversion > conversion_ratio
typedef std::ratio_add< typename BaseUnit::pi_exponent_ratio, PiExponent > pi_exponent_ratio
typedef std::ratio_add< std::ratio_multiply< typename BaseUnit::conversion_ratio, Translation >, typename BaseUnit::translation_ratio > translation_ratio

Detailed Description

template<class Conversion, class BaseUnit, class PiExponent = std::ratio<0>, class Translation = std::ratio<0>>

struct units::unit< Conversion, BaseUnit, PiExponent, Translation >"Type representing an arbitrary unit.

unit types are used as tags for the conversion function. They are not containers (see unit_t for a container class). Each unit is defined by:

  • A std::ratio defining the conversion factor to the base unit type. (e.g. std::ratio<1,12> for inches to feet)
  • A base unit that the unit is derived from (or a unit category. Must be of type unit or base_unit)
  • An exponent representing factors of PI required by the conversion. (e.g. std::ratio<-1> for a radians to degrees conversion)
  • a ratio representing a datum translation required for the conversion (e.g. std::ratio<32> for a fahrenheit to celsius conversion)

Typically, a specific unit, like meters, would be implemented as a type alias of unit, i.e. using meters = unit<std::ratio<1>, units::category::length_unit, or using inches = unit<std::ratio<1,12>, feet>.

Template Parameters

Conversion std::ratio representing scalar multiplication factor.
BaseUnit Unit type which this unit is derived from. May be a base_unit, or another unit.
PiExponent std::ratio representing the exponent of pi required by the conversion.
Translation std::ratio representing any datum translation required by the conversion.

Author

Generated automatically by Doxygen for Unit Conversion and Dimensional Analysis Library from the source code.

Wed Mar 29 2023 Version 2.3.0