diff --git a/src/core/include/units/generic/dimensionless.h b/src/core/include/units/generic/dimensionless.h index 576547e6..4a0d4171 100644 --- a/src/core/include/units/generic/dimensionless.h +++ b/src/core/include/units/generic/dimensionless.h @@ -22,29 +22,17 @@ #pragma once -// IWYU pragma: begin_exports -#include -// IWYU pragma: end_exports - -#include +#include +#include namespace units { -struct one : derived_unit {}; -struct percent : named_scaled_unit(), one> {}; +struct dimension_one; // defined in +struct one; // defined in -/** - * @brief Dimension one - * - * Dimension for which all the exponents of the factors corresponding to the base - * dimensions are zero. Also commonly named as "dimensionless". - */ -struct dim_one : derived_dimension {}; - -template -concept Dimensionless = QuantityOf; - -template U, Representation Rep = double> -using dimensionless = quantity; +// clang-format off +inline constexpr struct percent : named_unit<"%", mag * one> {} percent; +inline constexpr struct per_mille : named_unit * one> {} per_mille; +// clang-format on } // namespace units