Unit Conversion and Dimensional Analysis Library 3.6.1
A compile-time, header-only C++23 dimensional-analysis library
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
 Cdetail::_conversion_factor
 Cunits::conversion_factor< std::ratio< 1 >, dimension::dimensionless >
 Cunits::conversion_factor< std::ratio< 1 >, dimensionless_, std::ratio< 1 > >
 Cunits::detail::PI
 Cunits::conversion_factor< Conversion, BaseUnit, PiExponent, Translation >Type representing an arbitrary conversion factor between units
 Cunits::detail::_unitHelper type to identify units
 Cunits::unit< Cf, Underlying, Ns >
 Cunits::unit< typename T::conversion_factor, typename T::underlying_type, typename T::numerical_scale_type >
 Cunits::unit< UnitConversionT, T, NonLinearScale >
 Cunits::unit< traits::strong_t< conversion_factor< std::ratio< 1 >, dimension::dimensionless > >, Underlying, linear_scale >
 Cunits::unit< traits::strong_t< dimensionless_ >, Underlying, ::units::decibel_scale >
 Cunits::decibels< Underlying >
 Cunits::unit< traits::strong_t< conversion_factor< typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::conversion_ratio, typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::dimension_type, typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::pi_exponent_ratio, std::ratio< 0 > > >, typename traits::unit_traits< U >::underlying_type, typename traits::unit_traits< U >::numerical_scale_type >
 Cunits::unit< conversion_factor< std::ratio< 1 >, Dim >, double >
 Cunits::unit< traits::strong_t< dimensionless_ >, double, ::units::decibel_scale >
 Cunits::decibels< Underlying >Dimensionless unit with decibel scale
 Cunits::unit< ConversionFactor, T, NumericalScale >
 Cunits::decibels< NewUnderlying >
 Cunits::absolute< U >A point on a (possibly affine) scale — carries the unit's datum
 Cunits::affine::absolute< U >A point on a (possibly affine) scale — carries the unit's datum
 Cunits::dimension::angle_tag
 Cunits::any_unit
 Cunits::append< T, U >
 Cunits::append< dimension_t< T... >, dimension_t< U... > >
 Cunits::affine::basic_kind< Tag, U >A quantity distinguished by a string TAG — a "kind of quantity" that shares a unit and a dimension with others but is semantically distinct (radial vs
 Cunits::basic_kind< Tag, U >A quantity distinguished by a string TAG — a "kind of quantity" that shares a unit and a dimension with others but is semantically distinct (radial vs
 Cstd::bool_constant
 Cunits::detail::is_named_unit_impl< T, true >
 Cunits::traits::is_ratio_dimensionless_cf< ConversionFactor, std::void_t< typename ConversionFactor::dimension_type, typename ConversionFactor::conversion_ratio > >
 Cstd::common_type
 Cstd::common_type< chrono::duration< Rep, Period >, units::unit< ConversionFactor, T, NumericalScale > >
 Cstd::common_type< units::unit< units::detail::time_conversion_factor< Ratio >, T, NumericalScale >, chrono::duration< Rep, Period > >
 Cstd::common_type< Lhs, Rhs >
 Cstd::common_type< Named, Scalar >
 Cstd::common_type< Scalar, Named >
 Cstd::common_type< units::unit< UnitConversionT, T, NonLinearScale >, units::unit< UnitConversionT, T, NonLinearScale > >
 Cstd::conjunction
 Cunits::traits::has_decibel_scale< T >Trait which tests whether a type is inherited from a decibel scale
 Cunits::traits::has_linear_scale< T >Trait which tests whether a type is inherited from a linear scale
 Cunits::traits::is_same_dimension_conversion_factor< Cf1, Cf2 >BinaryTypeTrait for querying whether Cf1 and Cf2 are conversion factors to the same dimension
 Cunits::traits::is_same_dimension_unit< U1, U2 >BinaryTypeTrait for querying whether U1 and U2 are units of the same dimension
 CConversionFactor
 Cunits::unit< Cf, Underlying, Ns >
 Cunits::unit< typename T::conversion_factor, typename T::underlying_type, typename T::numerical_scale_type >
 Cunits::unit< UnitConversionT, T, NonLinearScale >
 Cunits::unit< traits::strong_t< conversion_factor< std::ratio< 1 >, dimension::dimensionless > >, Underlying, linear_scale >
 Cunits::unit< traits::strong_t< dimensionless_ >, Underlying, ::units::decibel_scale >
 Cunits::unit< traits::strong_t< conversion_factor< typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::conversion_ratio, typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::dimension_type, typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::pi_exponent_ratio, std::ratio< 0 > > >, typename traits::unit_traits< U >::underlying_type, typename traits::unit_traits< U >::numerical_scale_type >
 Cunits::unit< conversion_factor< std::ratio< 1 >, Dim >, double >
 Cunits::unit< traits::strong_t< dimensionless_ >, double, ::units::decibel_scale >
 Cunits::unit< ConversionFactor, T, NumericalScale >
 Cunits::dimension::current_tag
 Cunits::dimension::data_tag
 Cunits::decibel_scaleNumerical scale which is decibel
 Cunits::affine::delta< U >An amount of a quantity — offset-free (no datum)
 Cunits::delta< U >An amount of a quantity — offset-free (no datum)
 Cunits::dim< D, E >
 Cunits::dimension_pow_impl< T, E >
 Cunits::dimension_pow_impl< dimension_t< dim< T, E >... >, R >
 Cunits::dimension_t< D >
 Cunits::dimension_t< D0, D... >
 Cunits::dimension_t<>
 Cunits::dimension_termOne base-dimension term of a signature: which base dimension (by name-hash), and its rational exponent
 Cstd::enable_if
 Cstd::common_type< Ty, units::unit< ConversionFactor, Tx, NumericalScale > >
 Cstd::common_type< units::unit< ConversionFactor, Tx, NumericalScale >, Ty >
 Cstd::common_type< units::unit< ConversionFactorLhs, Tx, NumericalScale >, units::unit< ConversionFactorRhs, Ty, NumericalScale > >Common type of units
 Cstd::false_type
 Cunits::detail::is_complete< T, std::void_t< decltype(sizeof(T))> >
 Cunits::detail::is_named_unit_impl< T, true >
 Cunits::detail::is_unit_impl< T, true >
 Cunits::traits::is_ratio_dimensionless_cf< ConversionFactor, std::void_t< typename ConversionFactor::dimension_type, typename ConversionFactor::conversion_ratio > >
 Cunits::detail::is_complete< T, class >Whether T is a complete type, decided by SFINAE on sizeof(T) without instantiating any other trait
 Cunits::detail::is_named_unit_impl< T, bool >
 Cunits::detail::is_unit_impl< T, bool >is_unit implementation: an incomplete or non-class type is never a unit, decided WITHOUT instantiating is_base_of (which is ill-formed on an incomplete non-same class type)
 Cunits::traits::is_ratio_dimensionless_cf< ConversionFactor, class >
 Cunits::affine::fixed_string< N >A compile-time string usable as a non-type template parameter (the tag of a kind/of)
 Cunits::fixed_string< N >A compile-time string usable as a non-type template parameter (the tag of a kind/of)
 Cunits::detail::floating_point_promotion< Unit >
 Cunits::detail::has_dimension_of
 Cunits::traits::is_dimensionless_unit< T >
 Cstd::hash
 Cstd::hash< Named >
 Cstd::hash< units::affine::absolute< U > >Hash a point by the hash of its wrapped quantity (two equal points hash equally)
 Cstd::hash< units::affine::basic_kind< Tag, U > >Hash a kind by the hash of its wrapped quantity (the tag does not participate — equal values hash equally)
 Cstd::hash< units::affine::delta< U > >Hash an amount by the hash of its wrapped quantity
 Cstd::hash< units::any_unit >Hashes an erased quantity by its dimension signature and SI-base magnitude, so any_unit is usable as an unordered-container key
 Cstd::hash< units::unit< ConversionFactor, T, NumericalScale > >
 Cdetail::is_absolute_impl
 Cunits::traits::is_absolute< T >Trait which tests whether T is an absolute<U> point wrapper
 Cdetail::is_delta_impl
 Cunits::traits::is_delta< T >Trait which tests whether T is a delta<U> amount wrapper
 Cdetail::is_kind_impl
 Cunits::traits::is_kind< T >Trait which tests whether T is a string-tagged kind<Tag, U>
 Cunits::dimension::length_tag
 Cunits::linear_scaleNumerical scale which is linear
 Cunits::unit< conversion_factor< std::ratio< 1 >, Dim >, double >
 Cunits::unit< ConversionFactor, T, NumericalScale >
 Cunits::linearized_value_tTag for unit constructors
 Cunits::dimension::luminous_intensity_tag
 Cunits::make_dimension_list< T0, N0, Rest >
 Cunits::make_dimension_list< dimension_t< T... >, N0, Rest... >
 Cunits::make_dimension_list<>
 Cunits::dimension::mass_tag
 Cunits::merge_dimensions_combine_impl< Cancels >
 Cunits::merge_dimensions_combine_impl< false >
 Cunits::merge_dimensions_combine_impl< true >
 Cunits::merge_dimensions_impl< Test >
 Cunits::merge_dimensions_impl< 0 >
 Cunits::merge_dimensions_impl< 1 >
 Cunits::merge_dimensions_impl<-1 >
 Cunits::merge_dimensions_recurse_impl< HasT, HasU >
 Cunits::merge_dimensions_recurse_impl< false, false >
 Cunits::merge_dimensions_recurse_impl< false, true >
 Cunits::merge_dimensions_recurse_impl< true, false >
 Cunits::merge_dimensions_recurse_impl< true, true >
 Cnumeric_limits
 Cstd::numeric_limits< Named >
 Cstd::numeric_limits< units::affine::absolute< U > >Numeric limits of a point: the wrapped unit's limits, re-wrapped as points
 Cstd::numeric_limits< units::affine::basic_kind< Tag, U > >Numeric limits of a kind: the wrapped unit's limits, re-wrapped as the same kind (tag preserved)
 Cstd::numeric_limits< units::affine::delta< U > >Numeric limits of an amount: the wrapped unit's limits, re-wrapped as amounts
 Cstd::numeric_limits< units::unit< ConversionFactor, T, NonLinearScale > >
 CNumericalScale
 Cunits::unit< Cf, Underlying, Ns >
 Cunits::unit< typename T::conversion_factor, typename T::underlying_type, typename T::numerical_scale_type >
 Cunits::unit< UnitConversionT, T, NonLinearScale >
 Cunits::unit< traits::strong_t< conversion_factor< std::ratio< 1 >, dimension::dimensionless > >, Underlying, linear_scale >
 Cunits::unit< traits::strong_t< dimensionless_ >, Underlying, ::units::decibel_scale >
 Cunits::unit< traits::strong_t< conversion_factor< typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::conversion_ratio, typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::dimension_type, typename traits::conversion_factor_traits< typename traits::unit_traits< U >::conversion_factor >::pi_exponent_ratio, std::ratio< 0 > > >, typename traits::unit_traits< U >::underlying_type, typename traits::unit_traits< U >::numerical_scale_type >
 Cunits::unit< traits::strong_t< dimensionless_ >, double, ::units::decibel_scale >
 Cunits::traits::replace_underlying< class, class >SFINAE-able trait which replaces the underlying type of Unit with Underlying
 Cunits::traits::replace_underlying< Unit, Underlying >
 Cunits::traits::replace_underlying< unit< Cf, T, Ns >, Underlying >
 Cunits::detail::rewrap_named< Base, Named, class >
 Cunits::detail::rewrap_named< Base, Named, std::enable_if_t< is_named_unit_v< Named > &&!std::is_same_v< typename Base::conversion_factor, typename Named::conversion_factor > &&is_raw_conversion_factor_v< typename Base::conversion_factor > &&is_equivalent_conversion_factor_v< typename Base::conversion_factor, typename Named::conversion_factor > > >
 Cunits::detail::rewrap_named< Base, Named, std::enable_if_t< is_named_unit_v< Named > &&std::is_same_v< typename Base::conversion_factor, typename Named::conversion_factor > > >
 Cunits::detail::rewrap_to_named< U, class >
 Cunits::detail::rewrap_to_named< U, std::enable_if_t< traits::is_unit< U >::value &&!std::is_void_v< decltype(named_class_of(static_cast< typename U::conversion_factor * >(nullptr), static_cast< typename U::numerical_scale_type * >(nullptr)))> > >
 Cunits::detail::signature< Unit >Compile-time signature of a unit as a fixed-size, sorted array of terms
 Cunits::traits::strong< T >SFINAE-able trait that maps a conversion_factor to its strengthened type
 Cunits::dimension::substance_tag
 Cunits::dimension::temperature_tag
 Cunits::dimension::time_tag
 Cstd::true_type
 Cunits::detail::is_complete< T, std::void_t< decltype(sizeof(T))> >
 Cstd::is_base_of::type
 Cunits::detail::is_unit_impl< T, true >
 Cunits::detail::is_unit_impl< T, bool >::type
 Cunits::traits::is_unit< T >Traits which tests if a class is a unit
 Cunits::unit_abbreviation< Unit >
 Cunits::unit_abbreviation< decibels< Underlying > >
 Cunits::unit_identityRuntime identity of a quantity's dimension — the set of nonzero base-dimension terms
 Cunits::unit_name< Unit >
 Cunits::unit_name< decibels< Underlying > >