xo-unit: refactor: native_unit2 -> native_unit + consistent .hpp

This commit is contained in:
Roland Conybeare 2024-04-22 15:53:21 -04:00
commit 1142d7e68a
3 changed files with 11 additions and 11 deletions

View file

@ -0,0 +1,51 @@
/** @file dim_util2.hpp
*
* Author: Roland Conybeare
**/
#pragma once
#include "dimension.hpp"
#include "xo/flatstring/flatstring.hpp"
namespace xo {
namespace qty {
using native_unit2_abbrev_type = flatstring<8>;
/** @class native_unit2
*
* @brief Represent a native (built-in) unit.
*
* A basis_unit2 is expressed as a multiple of a native_unit2
*
**/
struct native_unit {
public:
constexpr native_unit(dim native_dim,
const native_unit2_abbrev_type & abbrev_str)
: native_dim_{native_dim},
abbrev_str_{abbrev_str}
{}
constexpr dim native_dim() const { return native_dim_; }
constexpr const native_unit2_abbrev_type & abbrev_str() const { return abbrev_str_; }
private:
dim native_dim_;
native_unit2_abbrev_type abbrev_str_;
};
static constexpr native_unit native_unit2_v[n_dim] = {
native_unit(dim::mass, native_unit2_abbrev_type::from_chars("g")),
native_unit(dim::distance, native_unit2_abbrev_type::from_chars("m")),
native_unit(dim::time, native_unit2_abbrev_type::from_chars("s")),
native_unit(dim::currency, native_unit2_abbrev_type::from_chars("ccy")),
native_unit(dim::price, native_unit2_abbrev_type::from_chars("px")),
};
} /*namespace qty*/
} /*namespace xo*/
/** end dim_util2.hpp **/