25 template <
typename... Products>
30 template <typename...>
31 struct symbol_builder {
36 struct symbol_builder<P> {
40 template <
typename P,
typename... Ps>
41 requires (
sizeof...(Ps) > 0)
42 struct symbol_builder<P, Ps...> {
43 UNIT_SYMBOL(P::symbol() +
"*" + symbol_builder<Ps...>::symbol())
47 template <
typename... Products>
49 struct mul<Products...> {
50 using scale =
mul<
typename Products::scale...>;
63 template <typename...>
64 struct symbol_builder {
69 struct symbol_builder<P> {
73 template <
typename P,
typename... Ps>
74 requires (
sizeof...(Ps) > 0)
75 struct symbol_builder<P, Ps...> {
76 UNIT_SYMBOL(P::symbol() +
"*" + symbol_builder<Ps...>::symbol())
Core components of the Quantify library.
constexpr bool has_scale_v
See has_scale.
ratio< T,(long)(1 *... *Products::template factor< T >::numerator),(long)(1 *... *Products::template factor< T >::denominator) > factor
mul< typename Products::scale... > scale
static constexpr std::string symbol() noexcept
Static representation of a numerical ratio in the form of a fraction.
static constexpr T numerator
static constexpr T denominator