qtty-cpp 0.4.5
Header-only C++ wrapper for qtty
Loading...
Searching...
No Matches
dimensionless.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
11struct AirmassTag {};
13struct AlbedoTag {};
16struct RatioTag {};
17
18template <> struct UnitTraits<OpticalDepthTag> {
19 static constexpr UnitId unit_id() { return UNIT_ID_OPTICAL_DEPTH; }
20 static constexpr std::string_view symbol() { return ""; }
21 static constexpr DimensionId dimension() { return DIMENSION_ID_DIMENSIONLESS; }
22};
23template <> struct UnitTraits<AirmassTag> {
24 static constexpr UnitId unit_id() { return UNIT_ID_AIRMASS; }
25 static constexpr std::string_view symbol() { return ""; }
26 static constexpr DimensionId dimension() { return DIMENSION_ID_DIMENSIONLESS; }
27};
28template <> struct UnitTraits<TransmittanceTag> {
29 static constexpr UnitId unit_id() { return UNIT_ID_TRANSMITTANCE; }
30 static constexpr std::string_view symbol() { return ""; }
31 static constexpr DimensionId dimension() { return DIMENSION_ID_DIMENSIONLESS; }
32};
33template <> struct UnitTraits<AlbedoTag> {
34 static constexpr UnitId unit_id() { return UNIT_ID_ALBEDO; }
35 static constexpr std::string_view symbol() { return ""; }
36 static constexpr DimensionId dimension() { return DIMENSION_ID_DIMENSIONLESS; }
37};
39 static constexpr UnitId unit_id() { return UNIT_ID_ILLUMINATION_FRACTION; }
40 static constexpr std::string_view symbol() { return ""; }
41 static constexpr DimensionId dimension() { return DIMENSION_ID_DIMENSIONLESS; }
42};
43template <> struct UnitTraits<RefractivityTag> {
44 static constexpr UnitId unit_id() { return UNIT_ID_REFRACTIVITY; }
45 static constexpr std::string_view symbol() { return ""; }
46 static constexpr DimensionId dimension() { return DIMENSION_ID_DIMENSIONLESS; }
47};
48template <> struct UnitTraits<RatioTag> {
49 static constexpr UnitId unit_id() { return UNIT_ID_RATIO; }
50 static constexpr std::string_view symbol() { return ""; }
51 static constexpr DimensionId dimension() { return DIMENSION_ID_DIMENSIONLESS; }
52};
53
61
62} // namespace qtty
constexpr bool is_angular_v
Definition angles.hpp:49
static constexpr std::string_view symbol()
static constexpr DimensionId dimension()
static constexpr UnitId unit_id()
static constexpr UnitId unit_id()
static constexpr std::string_view symbol()
static constexpr DimensionId dimension()
static constexpr std::string_view symbol()
static constexpr DimensionId dimension()
static constexpr UnitId unit_id()
static constexpr DimensionId dimension()
static constexpr std::string_view symbol()
static constexpr UnitId unit_id()
static constexpr std::string_view symbol()
static constexpr DimensionId dimension()
static constexpr DimensionId dimension()
static constexpr std::string_view symbol()
static constexpr UnitId unit_id()
static constexpr UnitId unit_id()
static constexpr std::string_view symbol()
static constexpr DimensionId dimension()