qtty-cpp 0.4.5
Header-only C++ wrapper for qtty
Loading...
Searching...
No Matches
voltage.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-3-Clause
2// Copyright (C) 2026 Vallés Puig, Ramon
3
4#pragma once
5
6#include "../ffi_core.hpp"
7
8namespace qtty {
9
10struct VoltTag {};
11struct MicrovoltTag {};
12struct MillivoltTag {};
13struct KilovoltTag {};
14struct MegavoltTag {};
15
16template <> struct UnitTraits<VoltTag> {
17 static constexpr UnitId unit_id() { return UNIT_ID_VOLT; }
18 static constexpr std::string_view symbol() { return "V"; }
19 static constexpr DimensionId dimension() { return DIMENSION_ID_VOLTAGE; }
20};
21template <> struct UnitTraits<MicrovoltTag> {
22 static constexpr UnitId unit_id() { return UNIT_ID_MICROVOLT; }
23 static constexpr std::string_view symbol() { return "µV"; }
24 static constexpr DimensionId dimension() { return DIMENSION_ID_VOLTAGE; }
25};
26template <> struct UnitTraits<MillivoltTag> {
27 static constexpr UnitId unit_id() { return UNIT_ID_MILLIVOLT; }
28 static constexpr std::string_view symbol() { return "mV"; }
29 static constexpr DimensionId dimension() { return DIMENSION_ID_VOLTAGE; }
30};
31template <> struct UnitTraits<KilovoltTag> {
32 static constexpr UnitId unit_id() { return UNIT_ID_KILOVOLT; }
33 static constexpr std::string_view symbol() { return "kV"; }
34 static constexpr DimensionId dimension() { return DIMENSION_ID_VOLTAGE; }
35};
36template <> struct UnitTraits<MegavoltTag> {
37 static constexpr UnitId unit_id() { return UNIT_ID_MEGAVOLT; }
38 static constexpr std::string_view symbol() { return "MV"; }
39 static constexpr DimensionId dimension() { return DIMENSION_ID_VOLTAGE; }
40};
41
47
48} // namespace qtty
constexpr bool is_angular_v
Definition angles.hpp:49
static constexpr std::string_view symbol()
Definition voltage.hpp:33
static constexpr UnitId unit_id()
Definition voltage.hpp:32
static constexpr DimensionId dimension()
Definition voltage.hpp:34
static constexpr std::string_view symbol()
Definition voltage.hpp:38
static constexpr DimensionId dimension()
Definition voltage.hpp:39
static constexpr UnitId unit_id()
Definition voltage.hpp:37
static constexpr UnitId unit_id()
Definition voltage.hpp:22
static constexpr DimensionId dimension()
Definition voltage.hpp:24
static constexpr std::string_view symbol()
Definition voltage.hpp:23
static constexpr std::string_view symbol()
Definition voltage.hpp:28
static constexpr DimensionId dimension()
Definition voltage.hpp:29
static constexpr UnitId unit_id()
Definition voltage.hpp:27
static constexpr std::string_view symbol()
Definition voltage.hpp:18
static constexpr DimensionId dimension()
Definition voltage.hpp:19
static constexpr UnitId unit_id()
Definition voltage.hpp:17