dimval 0.2.0
Modern C++23 header-only library of dimensional values (units, measures, ranges)
Loading...
Searching...
No Matches
measure.hpp File Reference

MeasureValue<M,T>: a UnitValue tagged with an additional semantic measure. More...

#include <dimval/core.hpp>
#include <dimval/interface.hpp>
#include <dimval/traits.hpp>
#include <dimval/unit.hpp>
#include <commons/color.hpp>
#include <commons/icon.hpp>
#include <expected>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
Include dependency graph for measure.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  dimval::MeasureValue< M, T >
 A value carrying both a measure tag and a unit tag. More...
 

Functions

template<MeasureLike M, NumericValue T>
constexpr MeasureValue< M, T > dimval::from_unit_value (const UnitValue< typename M::base_unit_t, T > &u) noexcept
 Wrap a UnitValue<base_unit_of<M>> as a MeasureValue<M>.
 
template<MeasureLike M, NumericValue T = double>
constexpr MeasureValue< M, T > dimval::measure_value (T v) noexcept
 Sugar: produce a MeasureValue from a scalar literal.
 

Detailed Description

MeasureValue<M,T>: a UnitValue tagged with an additional semantic measure.

Function Documentation

◆ from_unit_value()

template<MeasureLike M, NumericValue T>
constexpr MeasureValue< M, T > dimval::from_unit_value ( const UnitValue< typename M::base_unit_t, T > &  u)
constexprnoexcept

Wrap a UnitValue<base_unit_of<M>> as a MeasureValue<M>.

Compile error when the UnitValue's unit isn't M's declared base unit.