dimval 0.2.0
Modern C++23 header-only library of dimensional values (units, measures, ranges)
Loading...
Searching...
No Matches
dimval.hpp
Go to the documentation of this file.
1#pragma once
2
5
6#include <dimval/core.hpp>
7#include <dimval/define.hpp>
9#include <dimval/format.hpp>
10#include <dimval/hash.hpp>
11#include <dimval/interface.hpp>
13#include <dimval/measure.hpp>
14#include <dimval/ostream.hpp>
15#include <dimval/parcel.hpp>
16#include <dimval/parse.hpp>
17#include <dimval/range.hpp>
18#include <dimval/registry.hpp>
19#include <dimval/traits.hpp>
20#include <dimval/unit.hpp>
21#include <dimval/version.hpp>
22
23// Built-in catalog.
31#include <dimval/units/data.hpp>
37#include <dimval/units/rate.hpp>
38#include <dimval/units/rf.hpp>
39#include <dimval/units/si.hpp>
40
41namespace dimval {
42
44inline constexpr std::string_view version = DIMVAL_VERSION_STRING;
45
47inline constexpr int version_major = DIMVAL_VERSION_MAJOR;
49inline constexpr int version_minor = DIMVAL_VERSION_MINOR;
51inline constexpr int version_patch = DIMVAL_VERSION_PATCH;
52
53} // namespace dimval
Antenna / propagation measures.
Common, domain-agnostic measures.
Common concepts, error types, and small utilities used across dimval.
Data size units.
Macros that expand into a CRTP unit/measure struct and a runtime auto-registration for it.
Runtime metadata structs for units and measures.
Digital / decoder / DSP measures.
Dimensionless units.
constexpr int version_minor
Minor version component.
Definition dimval.hpp:49
constexpr int version_major
Major version component.
Definition dimval.hpp:47
constexpr int version_patch
Patch version component.
Definition dimval.hpp:51
constexpr std::string_view version
Library version as a dotted MAJOR.MINOR.PATCH string.
Definition dimval.hpp:44
std::formatter specializations for UnitValue, MeasureValue, ranges, and descriptors.
GNSS / GPS measures.
std::hash specializations for all dimval value types.
Imperial / US customary units that interconvert with SI through a non-trivial factor.
Abstract interfaces for runtime polymorphic handling of dimensional values.
Optional nlohmann::json integration.
MeasureValue<M,T>: a UnitValue tagged with an additional semantic measure.
Core electrical measures: voltage, current, resistance, power, ... Plus field/material properties (E-...
Mechanics measures: speed, acceleration, area, density, plus re-anchored measures over canonical SI b...
std::ostream operator<< for all value types — delegates to std::format.
Optional cpp-parcel integration.
Parse string literals like "42.5 m" into UnitValue / MeasureValue.
Practical / accepted units that mostly carry their own kind: clock drift, rotational frequency,...
UnitRangeValue and MeasureRangeValue — closed/open intervals of dimensional values.
Throughput units.
Thread-safe runtime registries of unit and measure descriptors.
RF / SDR units — logarithmic ratios (dB family + Neper), phase angle alternates, spectral density uni...
RF / SDR measures.
Canonical SI units (base + derived) and accepted/practical alts.
Concepts and helper accessors that drive the static side of dimval.
UnitValue<U,T>: a strongly-typed value carrying a compile-time unit tag.
Electronics-specific compound and alternate units.
Mechanics units: acceleration, area, density.