qtty-cpp 0.4.5
Header-only C++ wrapper for qtty
Loading...
Searching...
No Matches
force.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 NewtonTag {};
13struct KilonewtonTag {};
14struct MeganewtonTag {};
15struct GiganewtonTag {};
16struct DyneTag {};
17struct PoundForceTag {};
18
19template <> struct UnitTraits<NewtonTag> {
20 static constexpr UnitId unit_id() { return UNIT_ID_NEWTON; }
21 static constexpr std::string_view symbol() { return "N"; }
22 static constexpr DimensionId dimension() { return DIMENSION_ID_FORCE; }
23};
24template <> struct UnitTraits<MicronewtonTag> {
25 static constexpr UnitId unit_id() { return UNIT_ID_MICRONEWTON; }
26 static constexpr std::string_view symbol() { return "µN"; }
27 static constexpr DimensionId dimension() { return DIMENSION_ID_FORCE; }
28};
29template <> struct UnitTraits<MillinewtonTag> {
30 static constexpr UnitId unit_id() { return UNIT_ID_MILLINEWTON; }
31 static constexpr std::string_view symbol() { return "mN"; }
32 static constexpr DimensionId dimension() { return DIMENSION_ID_FORCE; }
33};
34template <> struct UnitTraits<KilonewtonTag> {
35 static constexpr UnitId unit_id() { return UNIT_ID_KILONEWTON; }
36 static constexpr std::string_view symbol() { return "kN"; }
37 static constexpr DimensionId dimension() { return DIMENSION_ID_FORCE; }
38};
39template <> struct UnitTraits<MeganewtonTag> {
40 static constexpr UnitId unit_id() { return UNIT_ID_MEGANEWTON; }
41 static constexpr std::string_view symbol() { return "MN"; }
42 static constexpr DimensionId dimension() { return DIMENSION_ID_FORCE; }
43};
44template <> struct UnitTraits<GiganewtonTag> {
45 static constexpr UnitId unit_id() { return UNIT_ID_GIGANEWTON; }
46 static constexpr std::string_view symbol() { return "GN"; }
47 static constexpr DimensionId dimension() { return DIMENSION_ID_FORCE; }
48};
49template <> struct UnitTraits<DyneTag> {
50 static constexpr UnitId unit_id() { return UNIT_ID_DYNE; }
51 static constexpr std::string_view symbol() { return "dyn"; }
52 static constexpr DimensionId dimension() { return DIMENSION_ID_FORCE; }
53};
54template <> struct UnitTraits<PoundForceTag> {
55 static constexpr UnitId unit_id() { return UNIT_ID_POUND_FORCE; }
56 static constexpr std::string_view symbol() { return "lbf"; }
57 static constexpr DimensionId dimension() { return DIMENSION_ID_FORCE; }
58};
59
68
69} // namespace qtty
constexpr bool is_angular_v
Definition angles.hpp:49
static constexpr DimensionId dimension()
Definition force.hpp:52
static constexpr std::string_view symbol()
Definition force.hpp:51
static constexpr UnitId unit_id()
Definition force.hpp:50
static constexpr UnitId unit_id()
Definition force.hpp:45
static constexpr DimensionId dimension()
Definition force.hpp:47
static constexpr std::string_view symbol()
Definition force.hpp:46
static constexpr std::string_view symbol()
Definition force.hpp:36
static constexpr UnitId unit_id()
Definition force.hpp:35
static constexpr DimensionId dimension()
Definition force.hpp:37
static constexpr DimensionId dimension()
Definition force.hpp:42
static constexpr UnitId unit_id()
Definition force.hpp:40
static constexpr std::string_view symbol()
Definition force.hpp:41
static constexpr std::string_view symbol()
Definition force.hpp:26
static constexpr DimensionId dimension()
Definition force.hpp:27
static constexpr UnitId unit_id()
Definition force.hpp:25
static constexpr UnitId unit_id()
Definition force.hpp:30
static constexpr std::string_view symbol()
Definition force.hpp:31
static constexpr DimensionId dimension()
Definition force.hpp:32
static constexpr std::string_view symbol()
Definition force.hpp:21
static constexpr DimensionId dimension()
Definition force.hpp:22
static constexpr UnitId unit_id()
Definition force.hpp:20
static constexpr UnitId unit_id()
Definition force.hpp:55
static constexpr DimensionId dimension()
Definition force.hpp:57
static constexpr std::string_view symbol()
Definition force.hpp:56