Unit registry that provides centralized unit string mapping and conversion.
static constexpr Unit parseUnit(std::string_view unitStr) noexcept
Parse a unit string and return the corresponding Unit enum.
static double convertToEdaUnits(double value, std::string_view unitStr, EDA_UNITS targetUnits)
Convert a value with unit string to target EDA_UNITS.
static constexpr bool isValidUnit(std::string_view unitStr) noexcept
Check if a string is a valid unit.
static constexpr std::array< UnitInfo, 15 > s_unitTable
static constexpr std::string_view getUnitString(Unit unit) noexcept
Get the unit string for a given Unit enum.
static std::vector< std::string > getAllUnitStrings()
Get all unit strings in parsing order (longest first)
static constexpr Unit fromEdaUnits(EDA_UNITS edaUnits) noexcept
Convert EDA_UNITS to text evaluator Unit enum.
static std::optional< UnitInfo > getUnitInfo(Unit unit) noexcept
Get unit information for debugging/display purposes.
static constexpr double getConversionFactor(Unit fromUnit, Unit toUnit) noexcept
Get conversion factor from one unit to another.
static constexpr double convertValue(double value, Unit fromUnit, Unit toUnit) noexcept
Convert a value with units to target units.
Unit
Enumeration of all supported units in the text evaluation system.
Unit information structure.
std::string_view description
std::string_view unitString