qtty-cpp 0.4.5
Header-only C++ wrapper for qtty
Loading...
Searching...
No Matches
frequency.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 HertzTag {};
11struct MillihertzTag {};
12struct KilohertzTag {};
13struct MegahertzTag {};
14struct GigahertzTag {};
15struct TerahertzTag {};
16
17template <> struct UnitTraits<HertzTag> {
18 static constexpr UnitId unit_id() { return UNIT_ID_HERTZ; }
19 static constexpr std::string_view symbol() { return "Hz"; }
20 static constexpr DimensionId dimension() { return DIMENSION_ID_FREQUENCY; }
21};
22template <> struct UnitTraits<MillihertzTag> {
23 static constexpr UnitId unit_id() { return UNIT_ID_MILLIHERTZ; }
24 static constexpr std::string_view symbol() { return "mHz"; }
25 static constexpr DimensionId dimension() { return DIMENSION_ID_FREQUENCY; }
26};
27template <> struct UnitTraits<KilohertzTag> {
28 static constexpr UnitId unit_id() { return UNIT_ID_KILOHERTZ; }
29 static constexpr std::string_view symbol() { return "kHz"; }
30 static constexpr DimensionId dimension() { return DIMENSION_ID_FREQUENCY; }
31};
32template <> struct UnitTraits<MegahertzTag> {
33 static constexpr UnitId unit_id() { return UNIT_ID_MEGAHERTZ; }
34 static constexpr std::string_view symbol() { return "MHz"; }
35 static constexpr DimensionId dimension() { return DIMENSION_ID_FREQUENCY; }
36};
37template <> struct UnitTraits<GigahertzTag> {
38 static constexpr UnitId unit_id() { return UNIT_ID_GIGAHERTZ; }
39 static constexpr std::string_view symbol() { return "GHz"; }
40 static constexpr DimensionId dimension() { return DIMENSION_ID_FREQUENCY; }
41};
42template <> struct UnitTraits<TerahertzTag> {
43 static constexpr UnitId unit_id() { return UNIT_ID_TERAHERTZ; }
44 static constexpr std::string_view symbol() { return "THz"; }
45 static constexpr DimensionId dimension() { return DIMENSION_ID_FREQUENCY; }
46};
47
54
55} // namespace qtty
constexpr bool is_angular_v
Definition angles.hpp:49
static constexpr std::string_view symbol()
Definition frequency.hpp:39
static constexpr UnitId unit_id()
Definition frequency.hpp:38
static constexpr DimensionId dimension()
Definition frequency.hpp:40
static constexpr std::string_view symbol()
Definition frequency.hpp:19
static constexpr UnitId unit_id()
Definition frequency.hpp:18
static constexpr DimensionId dimension()
Definition frequency.hpp:20
static constexpr UnitId unit_id()
Definition frequency.hpp:28
static constexpr DimensionId dimension()
Definition frequency.hpp:30
static constexpr std::string_view symbol()
Definition frequency.hpp:29
static constexpr std::string_view symbol()
Definition frequency.hpp:34
static constexpr UnitId unit_id()
Definition frequency.hpp:33
static constexpr DimensionId dimension()
Definition frequency.hpp:35
static constexpr UnitId unit_id()
Definition frequency.hpp:23
static constexpr std::string_view symbol()
Definition frequency.hpp:24
static constexpr DimensionId dimension()
Definition frequency.hpp:25
static constexpr UnitId unit_id()
Definition frequency.hpp:43
static constexpr DimensionId dimension()
Definition frequency.hpp:45
static constexpr std::string_view symbol()
Definition frequency.hpp:44