From 80eefec97c064202f7d17a2ae6ef9fec55fb8110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johel=20Ernesto=20Guerrero=20Pe=C3=B1a?= Date: Sun, 27 Jun 2021 18:35:21 -0400 Subject: [PATCH] fix: add quantity_point::origin, like std::chrono::time_point::clock --- .clang-format | 4 +- docs/_static/img/concepts.png | Bin 169347 -> 137511 bytes docs/framework/basic_concepts.rst | 10 +- docs/framework/dimensions.rst | 14 +- docs/framework/quantity_points.rst | 21 ++- docs/use_cases/interoperability.rst | 5 +- .../glide_computer/include/glide_computer.h | 3 +- src/core/include/units/bits/basic_concepts.h | 57 +++++- src/core/include/units/bits/common_quantity.h | 5 +- src/core/include/units/bits/equivalent.h | 31 +++- src/core/include/units/bits/quantity_of.h | 13 +- src/core/include/units/chrono.h | 15 +- src/core/include/units/customization_points.h | 2 +- src/core/include/units/kind.h | 18 +- src/core/include/units/point_origin.h | 34 ++++ src/core/include/units/quantity_cast.h | 23 ++- src/core/include/units/quantity_point.h | 52 ++++-- src/core/include/units/quantity_point_kind.h | 18 +- test/unit_test/static/CMakeLists.txt | 1 + test/unit_test/static/chrono_test.cpp | 41 ++-- test/unit_test/static/concepts_test.cpp | 11 +- test/unit_test/static/kind_test.cpp | 3 +- test/unit_test/static/point_origin_test.cpp | 73 ++++++++ test/unit_test/static/quantity_kind_test.cpp | 30 +-- .../static/quantity_point_kind_test.cpp | 91 +++++++-- test/unit_test/static/quantity_point_test.cpp | 175 +++++++++++------- 26 files changed, 542 insertions(+), 208 deletions(-) create mode 100644 src/core/include/units/point_origin.h create mode 100644 test/unit_test/static/point_origin_test.cpp diff --git a/.clang-format b/.clang-format index 7abab467..756b6fdc 100644 --- a/.clang-format +++ b/.clang-format @@ -63,7 +63,7 @@ CommentPragmas: '^ NOLINT' # CompactNamespaces: false # ConstructorInitializerAllOnOneLineOrOnePerLine: true # ConstructorInitializerIndentWidth: 4 -# ContinuationIndentWidth: 4 +ContinuationIndentWidth: 2 # Cpp11BracedListStyle: true DeriveLineEnding: false DerivePointerAlignment: false @@ -109,7 +109,7 @@ IndentRequires: true # KeepEmptyLinesAtTheStartOfBlocks: false # MacroBlockBegin: '' # MacroBlockEnd: '' -# MaxEmptyLinesToKeep: 1 +MaxEmptyLinesToKeep: 2 # NamespaceIndentation: None # ObjCBinPackProtocolList: Never # ObjCBlockIndentWidth: 2 diff --git a/docs/_static/img/concepts.png b/docs/_static/img/concepts.png index 376773106cfa464856bbc22f9f33227dc19493cb..e8083e027574b9a73406a6636ad7241f23292e04 100644 GIT binary patch literal 137511 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⋐@1bx|3o5pa06|~T)Ls`@H`hofvp!oz) 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 literal 169347 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 diff --git a/docs/framework/basic_concepts.rst b/docs/framework/basic_concepts.rst index ddff3461..bb3f9708 100644 --- a/docs/framework/basic_concepts.rst +++ b/docs/framework/basic_concepts.rst @@ -23,7 +23,7 @@ The most important concepts in the library are `Unit`, `Dimension`, ] [QuantityPoint| - [quantity_point] + [quantity_point] ] [QuantityKind| @@ -39,6 +39,10 @@ The most important concepts in the library are `Unit`, `Dimension`, [Unit]<-[Quantity] [Quantity]<-[QuantityPoint] + [PointOrigin]<-[QuantityPoint] + [Dimension]<-[PointOrigin] + [PointOrigin]<-[PointKind] + [Kind]<-[QuantityKind] [Dimension]<-[Kind] [Quantity]<-[QuantityKind] @@ -60,7 +64,7 @@ derived dimensions. Examples: ``si::dim_time``, ``si::dim_length``, ``si::dim_sp specific representation. Examples: ``quantity``, ``si::length``, ``si::speed``. -`QuantityPoint` is an absolute `Quantity` with respect to some origin. +`QuantityPoint` is an absolute `Quantity` with respect to an origin. Examples: timestamp (as opposed to duration), absolute temperature (as opposed to temperature difference). @@ -68,6 +72,6 @@ Examples: timestamp (as opposed to duration), absolute temperature distance (``horizonal_kind``) and height (``vertical_kind``) are different kinds of a length quantity. -`QuantityPointKind` is an absolute `QuantityKind` with respect to some origin. +`QuantityPointKind` is an absolute `QuantityKind` with respect to an origin. Examples: altitude is a quantity point of ``vertical_kind`` (as opposed to height). diff --git a/docs/framework/dimensions.rst b/docs/framework/dimensions.rst index 55cec054..4a8ab10a 100644 --- a/docs/framework/dimensions.rst +++ b/docs/framework/dimensions.rst @@ -106,8 +106,9 @@ Quantity Points +++++++++++++++ Quantity points have a more restricted set of operations. -Quantity can be added to or subtracted from a quantity point. -The result will always be a quantity point of the same dimension: +Quantity can be added to or subtracted +from a quantity point of the same origin. +The result will always be a quantity point of the same origin: .. code-block:: :emphasize-lines: 3-5 @@ -132,9 +133,10 @@ The result is a relative quantity of the same dimension: It is not allowed to: - - add quantity points - - subtract a quantity point from a quantity: - - multiply nor divide quantity points with anything else. + - add quantity points, + - subtract a quantity point from a quantity, + - multiply nor divide quantity points with anything else, and + - mix quantity points with different origins: .. code-block:: :emphasize-lines: 3-5 @@ -144,6 +146,8 @@ The result is a relative quantity of the same dimension: auto res1 = quantity_point{dist1} + quantity_point{dist2}; // ERROR auto res2 = dist1 - quantity_point{dist2}; // ERROR auto res3 = quantity_point{dist1} / (2 * s); // ERROR + auto res4 = quantity_point{std::chrono::utc_second{1s}} + + quantity_point{std::chrono::sys_second{1s}}; // ERROR Quantity Point Kinds ++++++++++++++++++++ diff --git a/docs/framework/quantity_points.rst b/docs/framework/quantity_points.rst index 9fd23af1..a13ee71b 100644 --- a/docs/framework/quantity_points.rst +++ b/docs/framework/quantity_points.rst @@ -3,9 +3,20 @@ Quantity Points =============== -A quantity point is an absolute quantity with respect to zero -(which represents some origin) and is represented in the library with a -`quantity_point` class template. +A quantity point is an absolute quantity with respect to an origin +and is represented in the library with a `quantity_point` class template. + +Point Origins +------------- + +We need a `point_origin` to represent the origin of a quantity point:: + + struct mean_sea_level : point_origin {}; + +Quantities points with this origin represent a point from the mean sea level. + +The library offers a `dynamic_origin` +for quantity points whose origin is not specified in the type system. Construction @@ -14,7 +25,7 @@ Construction To create the quantity point object from a `quantity` we just have to pass the value to the `quantity_point` class template explicit constructor:: - quantity_point d(123 * km); + quantity_point, si::kilometre, double> d(123 * km); .. note:: @@ -25,7 +36,7 @@ the value to the `quantity_point` class template explicit constructor:: `copy initialization `_ **does not compile**:: - quantity_point d = 123 * km; // ERROR + quantity_point, si::kilometre, double> d = 123 * km; // ERROR Differences To Quantity diff --git a/docs/use_cases/interoperability.rst b/docs/use_cases/interoperability.rst index c5cf5fed..1fd7685c 100644 --- a/docs/use_cases/interoperability.rst +++ b/docs/use_cases/interoperability.rst @@ -56,11 +56,12 @@ such an explicit conversion:: For external quantity point-like types, `quantity_point_like_traits` is also provided. It works just like `quantity_like_traits`, except that -``number(T)`` is replaced with ``relative(T)`` that returns the `QuantityLike` value. +``number(T)`` is replaced with ``relative(T)`` that returns the `QuantityLike` value +and ``dimension`` is replaced with ``origin``. Similar to `quantity` and `quantity_kind`, `quantity_point` and `quantity_kind_point` provide a deduction guide from `QuantityPointLike`:: using namespace std::chrono_literals; - static_assert(quantity_point{std::chrono::sys_seconds{1s}} + 1 * s == quantity_point{2s}); + static_assert((quantity_point{std::chrono::sys_seconds{1s}} + 1 * s).relative() == 2s); diff --git a/example/glide_computer/include/glide_computer.h b/example/glide_computer/include/glide_computer.h index 8185f95f..ef9631f7 100644 --- a/example/glide_computer/include/glide_computer.h +++ b/example/glide_computer/include/glide_computer.h @@ -30,6 +30,7 @@ #include // IWYU pragma: end_exports +#include #include #include // IWYU pragma: keep #include @@ -88,7 +89,7 @@ using altitude = units::quantity_point_kind; -using timestamp = units::quantity_point; +using timestamp = units::quantity_point, units::isq::si::second>; // speed using velocity = units::quantity_kind; diff --git a/src/core/include/units/bits/basic_concepts.h b/src/core/include/units/bits/basic_concepts.h index 4ec56115..7b68b994 100644 --- a/src/core/include/units/bits/basic_concepts.h +++ b/src/core/include/units/bits/basic_concepts.h @@ -205,6 +205,52 @@ concept UnitOf = Dimension && std::same_as::reference>; +// PointOrigin + +template +struct point_origin; + +/** + * @brief A concept matching a point origin + * + * Satisfied by types derived from an specialization of @c point_origin. + */ +template +concept PointOrigin = is_derived_from_specialization_of && + requires { + typename T::dimension; + requires Dimension; + typename T::point_origin; + requires std::same_as>; + requires !std::same_as>; + }; + +// RebindablePointOriginFor + +namespace detail { + +template +struct rebind_point_origin_dimension_impl { + using type = typename O::template rebind; +}; + +} // namespace detail + +template +using rebind_point_origin_dimension = typename conditional, std::type_identity, + detail::rebind_point_origin_dimension_impl>::type; + +/** + * @brief A concept predicating the possibility of changing an origin's dimension + * + * Satisfied by point origins whose dimension can be made to be `D`. + */ +template +concept RebindablePointOriginFor = + requires { typename rebind_point_origin_dimension; } && + PointOrigin> && + std::same_as::dimension>; + // Kind namespace detail { @@ -216,7 +262,7 @@ struct _kind_base; template typename Base> concept kind_impl_ = is_derived_from_specialization_of && - requires(T* t) { + requires { typename T::base_kind; typename T::dimension; requires Dimension; @@ -236,7 +282,7 @@ concept Kind = // PointKind namespace detail { -template +template struct _point_kind_base; } // namespace detail @@ -247,7 +293,12 @@ struct _point_kind_base; * Satisfied by all point kind types derived from an specialization of @c point_kind. */ template -concept PointKind = kind_impl_; +concept PointKind = + kind_impl_ && + requires { typename T::origin; } && + PointOrigin && + std::same_as && + std::same_as; // Reference namespace detail { diff --git a/src/core/include/units/bits/common_quantity.h b/src/core/include/units/bits/common_quantity.h index 1bcc0cfb..789ff5b1 100644 --- a/src/core/include/units/bits/common_quantity.h +++ b/src/core/include/units/bits/common_quantity.h @@ -31,7 +31,7 @@ namespace units { template U, Representation Rep> class quantity; -template U, Representation Rep> +template U, Representation Rep> class quantity_point; template U, Representation Rep> @@ -99,7 +99,8 @@ template QP2> requires requires { typename common_type_t; } struct common_type { using type = units::quantity_point< - typename common_type_t::dimension, + units::rebind_point_origin_dimension::dimension>, typename common_type_t::unit, typename common_type_t::rep>; }; diff --git a/src/core/include/units/bits/equivalent.h b/src/core/include/units/bits/equivalent.h index 80825870..dca2d65f 100644 --- a/src/core/include/units/bits/equivalent.h +++ b/src/core/include/units/bits/equivalent.h @@ -81,29 +81,48 @@ template struct equivalent_unit : std::disjunction, std::bool_constant::ratio == U2::ratio / dimension_unit::ratio>> {}; +// point origins + +template +struct equivalent_impl : std::bool_constant && RebindablePointOriginFor && + std::same_as> && + std::same_as>; + } && equivalent_impl::value> {}; + // (point) kinds -template - requires (Kind && Kind) || (PointKind && PointKind) +template struct equivalent_impl : std::conjunction, equivalent_impl> {}; +template +struct equivalent_impl : + std::conjunction, + equivalent_impl> {}; + // quantities, quantity points, quantity (point) kinds -template - requires (Quantity && Quantity) || (QuantityPoint && QuantityPoint) +template struct equivalent_impl : std::conjunction, equivalent_unit> {}; -template - requires (QuantityKind && QuantityKind) || (QuantityPointKind && QuantityPointKind) +template +struct equivalent_impl : std::conjunction, + equivalent_impl> {}; + +template struct equivalent_impl : std::conjunction, equivalent_impl> {}; +template +struct equivalent_impl : std::conjunction, + equivalent_impl> {}; + } // namespace detail template diff --git a/src/core/include/units/bits/quantity_of.h b/src/core/include/units/bits/quantity_of.h index 832f273f..4ec1368f 100644 --- a/src/core/include/units/bits/quantity_of.h +++ b/src/core/include/units/bits/quantity_of.h @@ -85,21 +85,20 @@ template concept QuantityEquivalentTo = Quantity && QuantityOf; /** - * @brief A concept matching all quantity points with provided dimension + * @brief A concept matching all quantity points of the provided origin * - * Satisfied by all quantity points with a dimension being the instantiation derived from - * the provided dimension type. + * Satisfied by all quantity points with an origin equivalent to the provided one. */ -template -concept QuantityPointOf = QuantityPoint && Dimension && equivalent; +template +concept QuantityPointOf = QuantityPoint && PointOrigin && equivalent; /** * @brief A concept matching two equivalent quantity points * - * Satisfied by quantity points having equivalent dimensions. + * Satisfied by quantity points having equivalent origins. */ template -concept QuantityPointEquivalentTo = QuantityPoint && QuantityPointOf; +concept QuantityPointEquivalentTo = QuantityPoint && QuantityPointOf; /** * @brief A concept matching only quantity kinds of a specific kind. diff --git a/src/core/include/units/chrono.h b/src/core/include/units/chrono.h index 5e5d14e9..d85496bd 100644 --- a/src/core/include/units/chrono.h +++ b/src/core/include/units/chrono.h @@ -25,6 +25,7 @@ #include // IWYU pragma: begin_exports #include +#include #include // IWYU pragma: end_exports @@ -38,10 +39,13 @@ struct quantity_like_traits> { [[nodiscard]] static constexpr rep number(const std::chrono::duration& q) { return q.count(); } }; +template +struct clock_origin : point_origin { }; + template struct quantity_point_like_traits>> { - using dimension = isq::si::dim_time; - using unit = downcast_unit; + using origin = clock_origin; + using unit = downcast_unit; using rep = Rep; [[nodiscard]] static constexpr auto relative( const std::chrono::time_point>& qp) { @@ -49,4 +53,11 @@ struct quantity_point_like_traits +inline constexpr bool is_quantity_point_like>> = true; + +} // namespace detail + } // namespace units diff --git a/src/core/include/units/customization_points.h b/src/core/include/units/customization_points.h index 5b3a3d56..04827e1f 100644 --- a/src/core/include/units/customization_points.h +++ b/src/core/include/units/customization_points.h @@ -88,7 +88,7 @@ struct quantity_like_traits; /** * @brief Provides support for external quantity point-like types * - * The type trait should provide the following nested type aliases: @c dimension, @c unit, @c rep, + * The type trait should provide the following nested type aliases: @c origin, @c unit, @c rep, * and a static member function @c relative(T) that will return the quantity-like value of the quantity point. * * Usage example can be found in @c units/chrono.h header file. diff --git a/src/core/include/units/kind.h b/src/core/include/units/kind.h index 5494adc5..690dcbd5 100644 --- a/src/core/include/units/kind.h +++ b/src/core/include/units/kind.h @@ -27,6 +27,9 @@ namespace units { +template +struct dynamic_origin; + namespace detail { template @@ -35,10 +38,11 @@ struct _kind_base : downcast_base<_kind_base> { using dimension = D; }; -template -struct _point_kind_base : downcast_base<_point_kind_base> { +template +struct _point_kind_base : downcast_base<_point_kind_base> { using base_kind = K; using dimension = typename K::dimension; + using origin = O; }; } // namespace detail @@ -47,9 +51,9 @@ template requires Kind>> using downcast_kind = downcast>; -template - requires PointKind>> -using downcast_point_kind = downcast>; +template> + requires PointKind>> +using downcast_point_kind = downcast>; template struct kind : downcast_dispatch> {}; @@ -58,7 +62,7 @@ template requires std::same_as struct derived_kind : downcast_dispatch> {}; -template -struct point_kind : downcast_dispatch> {}; +template> +struct point_kind : downcast_dispatch> {}; } // namespace units diff --git a/src/core/include/units/point_origin.h b/src/core/include/units/point_origin.h new file mode 100644 index 00000000..581ccbfc --- /dev/null +++ b/src/core/include/units/point_origin.h @@ -0,0 +1,34 @@ +// The MIT License (MIT) +// +// Copyright (c) 2018 Mateusz Pusz +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#pragma once + +#include + +namespace units { + +template +struct point_origin { + using dimension = D; +}; + +} // namespace units diff --git a/src/core/include/units/quantity_cast.h b/src/core/include/units/quantity_cast.h index 655a0720..1472b701 100644 --- a/src/core/include/units/quantity_cast.h +++ b/src/core/include/units/quantity_cast.h @@ -39,7 +39,7 @@ namespace units { template U, Representation Rep> class quantity; -template U, Representation Rep> +template U, Representation Rep> class quantity_point; template U, Representation Rep> @@ -234,10 +234,12 @@ template Rep * * @tparam CastSpec a target quantity point type to cast to or anything that works for quantity_cast */ -template - requires is_specialization_of || - requires(quantity q) { quantity_cast(q); } -[[nodiscard]] constexpr auto quantity_point_cast(const quantity_point& qp) +template +[[nodiscard]] constexpr auto quantity_point_cast(const quantity_point& qp) + requires requires { requires is_specialization_of; + requires requires { quantity_cast(qp.relative()); }; + requires equivalent; } || // TODO: Simplify when Clang catches up. + requires { quantity_cast(qp.relative()); } { if constexpr (is_specialization_of) return quantity_point(quantity_cast(qp.relative())); @@ -261,11 +263,11 @@ template * @tparam ToD a dimension type to use for a target quantity * @tparam ToU a unit type to use for a target quantity */ -template - requires equivalent && UnitOf -[[nodiscard]] constexpr auto quantity_point_cast(const quantity_point& q) +template + requires equivalent && UnitOf && RebindablePointOriginFor +[[nodiscard]] constexpr auto quantity_point_cast(const quantity_point& q) { - return quantity_point_cast>(q); + return quantity_point_cast, ToU, Rep>>(q); } /** @@ -347,7 +349,8 @@ template template [[nodiscard]] constexpr QuantityPointKind auto quantity_point_kind_cast(const quantity_point_kind& qpk) requires requires { requires is_specialization_of; - requires requires { quantity_kind_cast(qpk.relative()); }; } || + requires requires { quantity_kind_cast(qpk.relative()); }; + requires equivalent; } || requires { requires PointKind && UnitOf; } || requires { quantity_kind_cast(qpk.relative()); } // TODO: Simplify when Clang catches up. { diff --git a/src/core/include/units/quantity_point.h b/src/core/include/units/quantity_point.h index cbb5e2a7..4da06901 100644 --- a/src/core/include/units/quantity_point.h +++ b/src/core/include/units/quantity_point.h @@ -24,6 +24,7 @@ #pragma once // IWYU pragma: begin_exports +#include #include #include // IWYU pragma: end_exports @@ -34,18 +35,32 @@ namespace units { /** - * @brief A quantity point + * @brief A statically unspecified quantity point origin * - * An absolute quantity with respect to zero (which represents some origin). + * An origin, unspecified in the type system, from which an absolute quantity is measured from. * * @tparam D a dimension of the quantity point (can be either a BaseDimension or a DerivedDimension) + */ +template +struct dynamic_origin : point_origin { + template + using rebind = dynamic_origin; +}; + +/** + * @brief A quantity point + * + * An absolute quantity measured from an origin. + * + * @tparam O a type that represents the origin from which the quantity point is measured from * @tparam U a measurement unit of the quantity point * @tparam Rep a type to be used to represent values of a quantity point */ -template U, Representation Rep = double> +template U, Representation Rep = double> class quantity_point { public: - using quantity_type = quantity; + using origin = O; + using quantity_type = quantity; using dimension = typename quantity_type::dimension; using unit = typename quantity_type::unit; using rep = typename quantity_type::rep; @@ -63,13 +78,14 @@ public: requires std::constructible_from constexpr explicit quantity_point(T&& t) : q_(std::forward(t)) {} - template + template QP2> requires std::convertible_to constexpr explicit(false) quantity_point(const QP2& qp) : q_(qp.relative()) {} template constexpr explicit quantity_point(const QP& qp) - requires std::is_constructible_v::relative(qp))> + requires std::is_constructible_v::relative(qp))> && + equivalent::origin> : q_(quantity_point_like_traits::relative(qp)) {} quantity_point& operator=(const quantity_point&) = default; @@ -141,7 +157,8 @@ public: { const auto q = lhs.relative() + rhs; using q_type = decltype(q); - return quantity_point(q); + return quantity_point, typename q_type::unit, + typename q_type::rep>(q); } template @@ -157,24 +174,25 @@ public: { const auto q = lhs.relative() - rhs; using q_type = decltype(q); - return quantity_point(q); + return quantity_point, typename q_type::unit, + typename q_type::rep>(q); } - template + template QP> [[nodiscard]] friend constexpr Quantity auto operator-(const quantity_point& lhs, const QP& rhs) requires requires(quantity_type q) { q - rhs.relative(); } { return lhs.relative() - rhs.relative(); } - template + template QP> requires std::three_way_comparable_with [[nodiscard]] friend constexpr auto operator<=>(const quantity_point& lhs, const QP& rhs) { return lhs.relative() <=> rhs.relative(); } - template + template QP> requires std::equality_comparable_with [[nodiscard]] friend constexpr bool operator==(const quantity_point& lhs, const QP& rhs) { @@ -183,24 +201,24 @@ public: }; template -explicit quantity_point(Rep) -> quantity_point; +explicit quantity_point(Rep) -> quantity_point, one, Rep>; template -explicit quantity_point(Q) -> quantity_point; +explicit quantity_point(Q) -> quantity_point, typename Q::unit, typename Q::rep>; template -explicit quantity_point(Q) -> quantity_point::dimension, +explicit quantity_point(Q) -> quantity_point::dimension>, typename quantity_like_traits::unit, typename quantity_like_traits::rep>; template -explicit quantity_point(QP) -> quantity_point::dimension, +explicit quantity_point(QP) -> quantity_point::origin, typename quantity_point_like_traits::unit, typename quantity_point_like_traits::rep>; namespace detail { -template -inline constexpr bool is_quantity_point> = true; +template +inline constexpr bool is_quantity_point> = true; } // namespace detail diff --git a/src/core/include/units/quantity_point_kind.h b/src/core/include/units/quantity_point_kind.h index 213de447..a2c5f1a1 100644 --- a/src/core/include/units/quantity_point_kind.h +++ b/src/core/include/units/quantity_point_kind.h @@ -34,7 +34,7 @@ namespace units { /** * @brief A quantity point kind * - * An absolute quantity kind with respect to zero (which represents some origin). + * An absolute quantity kind measured from an origin. * * @tparam PK the point kind of quantity point * @tparam U the measurement unit of the quantity point kind @@ -45,6 +45,7 @@ class quantity_point_kind { public: using point_kind_type = PK; using kind_type = typename PK::base_kind; + using origin = typename point_kind_type::origin; using quantity_kind_type = quantity_kind; using quantity_type = typename quantity_kind_type::quantity_type; using dimension = typename quantity_type::dimension; @@ -64,14 +65,14 @@ public: requires std::constructible_from constexpr explicit quantity_point_kind(T&& t) : qk_(std::forward(t)) {} - constexpr explicit quantity_point_kind(const quantity_point& qp) : qk_(qp.relative()) {} - constexpr explicit quantity_point_kind(quantity_point&& qp) : qk_(std::move(qp).relative()) {} + constexpr explicit quantity_point_kind(const quantity_point& qp) : qk_(qp.relative()) {} + constexpr explicit quantity_point_kind(quantity_point&& qp) : qk_(std::move(qp).relative()) {} template - requires std::constructible_from, QP> + requires std::constructible_from, QP> constexpr explicit quantity_point_kind(const QP& qp) : qk_(quantity_point_like_traits::relative(qp)) {} - template QPK2> + template QPK2> requires std::convertible_to constexpr explicit(false) quantity_point_kind(const QPK2& qpk) : qk_(qpk.relative()) {} @@ -159,20 +160,21 @@ public: return units::quantity_point_kind(lhs.relative() - rhs); } - [[nodiscard]] friend constexpr QuantityKind auto operator-(const quantity_point_kind& lhs, const quantity_point_kind& rhs) + template QPK> + [[nodiscard]] friend constexpr QuantityKind auto operator-(const quantity_point_kind& lhs, const QPK& rhs) requires requires(quantity_kind_type qk) { qk - qk; } { return lhs.relative() - rhs.relative(); } - template + template QPK> requires std::three_way_comparable_with [[nodiscard]] friend constexpr auto operator<=>(const quantity_point_kind& lhs, const QPK& rhs) { return lhs.relative() <=> rhs.relative(); } - template + template QPK> requires std::equality_comparable_with [[nodiscard]] friend constexpr bool operator==(const quantity_point_kind& lhs, const QPK& rhs) { diff --git a/test/unit_test/static/CMakeLists.txt b/test/unit_test/static/CMakeLists.txt index f3981ce4..0c5b3d9c 100644 --- a/test/unit_test/static/CMakeLists.txt +++ b/test/unit_test/static/CMakeLists.txt @@ -51,6 +51,7 @@ add_library(unit_tests_static iec80000_test.cpp kind_test.cpp math_test.cpp + point_origin_test.cpp ratio_test.cpp references_test.cpp si_test.cpp diff --git a/test/unit_test/static/chrono_test.cpp b/test/unit_test/static/chrono_test.cpp index ec556723..ed812548 100644 --- a/test/unit_test/static/chrono_test.cpp +++ b/test/unit_test/static/chrono_test.cpp @@ -36,7 +36,7 @@ using namespace std::chrono_literals; using sys_seconds = std::chrono::time_point; using sys_days = std::chrono::time_point, std::chrono::hours::period>>>; -template using time_point = quantity_point; +template using time_point = quantity_point, U, Rep>; static_assert(QuantityLike); static_assert(QuantityPointLike); @@ -50,14 +50,17 @@ static_assert(std::constructible_from>); static_assert(!std::constructible_from, std::chrono::seconds>); static_assert(!std::convertible_to>); -static_assert(std::constructible_from, sys_seconds>); -static_assert(!std::convertible_to>); -static_assert(std::constructible_from, sys_days>); -static_assert(!std::convertible_to>); -static_assert(std::constructible_from, sys_days>); -static_assert(!std::convertible_to>); -static_assert(!std::constructible_from, sys_seconds>); -static_assert(!std::convertible_to>); +static_assert(std::constructible_from, sys_seconds>); +static_assert(!std::constructible_from, sys_seconds>); +static_assert(!std::convertible_to>); +static_assert(std::constructible_from, sys_days>); +static_assert(!std::constructible_from, sys_days>); +static_assert(!std::convertible_to>); +static_assert(std::constructible_from, sys_days>); +static_assert(!std::constructible_from, sys_days>); +static_assert(!std::convertible_to>); +static_assert(!std::constructible_from, sys_seconds>); +static_assert(!std::convertible_to>); // construction - different rep type (integral to a floating-point) static_assert(std::constructible_from, std::chrono::seconds>); @@ -66,25 +69,25 @@ static_assert(std::constructible_from, std::chrono::hours>) static_assert(!std::convertible_to>); static_assert(std::constructible_from, std::chrono::seconds>); static_assert(!std::convertible_to>); -static_assert(std::constructible_from, sys_seconds>); -static_assert(!std::convertible_to>); -static_assert(std::constructible_from, sys_days>); -static_assert(!std::convertible_to>); -static_assert(std::constructible_from, sys_seconds>); -static_assert(!std::convertible_to>); +static_assert(std::constructible_from, sys_seconds>); +static_assert(!std::convertible_to>); +static_assert(std::constructible_from, sys_days>); +static_assert(!std::convertible_to>); +static_assert(std::constructible_from, sys_seconds>); +static_assert(!std::convertible_to>); // CTAD static_assert(is_same_v>); static_assert(is_same_v>); -static_assert(is_same_v>); -static_assert(is_same_v>); +static_assert(is_same_v>); +static_assert(is_same_v>); // operators static_assert(quantity{1s} + 1_q_s == 2_q_s); static_assert(quantity{1s} + 1_q_min == 61_q_s); static_assert(10_q_m / quantity{2s} == 5_q_m_per_s); -static_assert(quantity_point{sys_seconds{1s}} + 1_q_s == quantity_point{2_q_s}); -static_assert(quantity_point{sys_seconds{1s}} + 1_q_min == quantity_point{61_q_s}); +static_assert(quantity_point{sys_seconds{1s}} + 1_q_s == time_point{2_q_s}); +static_assert(quantity_point{sys_seconds{1s}} + 1_q_min == time_point{61_q_s}); } // namespace diff --git a/test/unit_test/static/concepts_test.cpp b/test/unit_test/static/concepts_test.cpp index fd0ce1f2..a54e3cd5 100644 --- a/test/unit_test/static/concepts_test.cpp +++ b/test/unit_test/static/concepts_test.cpp @@ -27,7 +27,7 @@ #include // IWYU pragma: keep #include #include -#include +#include #include #include #include @@ -112,11 +112,11 @@ static_assert(!Representation); static_assert(Quantity>); static_assert(!Quantity); -static_assert(!Quantity>); +static_assert(!Quantity, si::metre>>); // QuantityPoint -static_assert(QuantityPoint>); +static_assert(QuantityPoint, si::metre>>); static_assert(!QuantityPoint>); static_assert(!QuantityPoint); @@ -141,4 +141,9 @@ static_assert(QuantityOf, si::dim_length>); static_assert(QuantityOf, si::fps::dim_length>); static_assert(!QuantityOf, si::dim_time>); +static_assert(QuantityPointOf, si::second, int>, dynamic_origin>); +static_assert(QuantityPointOf, si::second, int>, clock_origin>); +static_assert(!QuantityPointOf, si::second, int>, clock_origin>); +static_assert(!QuantityPointOf, si::second, int>, dynamic_origin>); + } // namespace diff --git a/test/unit_test/static/kind_test.cpp b/test/unit_test/static/kind_test.cpp index fb6ba0bc..3e9b4eb8 100644 --- a/test/unit_test/static/kind_test.cpp +++ b/test/unit_test/static/kind_test.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include using namespace units; @@ -97,7 +98,6 @@ static_assert(PointKind); static_assert(is_same_v); static_assert(is_same_v); -static_assert(is_same_v>); static_assert(is_same_v>); static_assert(equivalent); @@ -137,7 +137,6 @@ static_assert(PointKind); static_assert(is_same_v); static_assert(is_same_v); -static_assert(is_same_v>); static_assert(is_same_v>); static_assert(equivalent); diff --git a/test/unit_test/static/point_origin_test.cpp b/test/unit_test/static/point_origin_test.cpp new file mode 100644 index 00000000..8da58e46 --- /dev/null +++ b/test/unit_test/static/point_origin_test.cpp @@ -0,0 +1,73 @@ +// The MIT License (MIT) +// +// Copyright (c) 2018 Mateusz Pusz +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +#include +#include +#include +#include +#include +#include + +using namespace units; +namespace si = isq::si; + +namespace { + +struct width : kind {}; + +struct ones_viewpoint1 : point_origin { + template + using rebind = ones_viewpoint1; +}; + +struct ones_viewpoint2 : point_origin { + template + using rebind = ones_viewpoint1; +}; + +static_assert(PointOrigin>); +static_assert(!PointOrigin>); +static_assert(!PointOrigin); +static_assert(!PointOrigin>); + +static_assert(RebindablePointOriginFor, si::dim_length>); +static_assert(is_same_v, si::dim_length>, + dynamic_origin>); +static_assert(RebindablePointOriginFor, si::dim_time>); +static_assert(is_same_v, si::dim_time>, + dynamic_origin>); +static_assert(RebindablePointOriginFor); +static_assert(is_same_v, ones_viewpoint1>); +static_assert(RebindablePointOriginFor); +static_assert(is_same_v, ones_viewpoint1>); +static_assert(RebindablePointOriginFor); +static_assert(is_same_v, ones_viewpoint2>); +static_assert(!RebindablePointOriginFor); + +static_assert(equivalent, dynamic_origin>); +static_assert(equivalent, dynamic_origin>); +static_assert(!equivalent, clock_origin>); +static_assert(!equivalent, clock_origin>); +static_assert(!equivalent, dynamic_origin>); +static_assert(!equivalent); + +} // namespace diff --git a/test/unit_test/static/quantity_kind_test.cpp b/test/unit_test/static/quantity_kind_test.cpp index 5ffea7fe..740d0973 100644 --- a/test/unit_test/static/quantity_kind_test.cpp +++ b/test/unit_test/static/quantity_kind_test.cpp @@ -82,16 +82,16 @@ static_assert(QuantityKind>); static_assert(QuantityKind>); static_assert(!QuantityKind); static_assert(!QuantityKind>); -static_assert(!QuantityKind>); +static_assert(!QuantityKind, metre>>); static_assert(QuantityKindOf, width_kind>); static_assert(!QuantityKindOf, height_kind>); static_assert(!QuantityKindOf, metre>); static_assert(!QuantityKindOf, width_kind>); static_assert(!QuantityKindOf, metre>); -static_assert(!QuantityKindOf, width_kind>); -static_assert(!QuantityKindOf, dim_length>); -static_assert(!QuantityKindOf, metre>); +static_assert(!QuantityKindOf, metre>, width_kind>); +static_assert(!QuantityKindOf, metre>, dim_length>); +static_assert(!QuantityKindOf, metre>, metre>); /////////////// @@ -105,7 +105,7 @@ template concept invalid_types = requires { requires !requires { typename quantity_kind; }; // unit of a different dimension requires !requires { typename quantity_kind>; }; // quantity used as Rep - requires !requires { typename quantity_kind>; }; // quantity point used as Rep + requires !requires { typename quantity_kind, metre>>; }; // quantity point used as Rep requires !requires { typename quantity_kind>; }; // quantity kind used as Rep requires !requires { typename quantity_kind; }; // reordered arguments requires !requires { typename quantity_kind; }; // reordered arguments @@ -454,7 +454,7 @@ concept invalid_compound_assignments = requires(quantity_kind requires invalid_compound_assignments_>; requires invalid_compound_assignments_>; requires invalid_compound_assignments_>; - requires invalid_compound_assignments_>; + requires invalid_compound_assignments_, metre, int>>; requires invalid_compound_assignments_; }; static_assert(invalid_compound_assignments); @@ -485,12 +485,12 @@ static_assert((width(0 * m) - width(1 static_assert(!std::is_invocable_v, width, double>); static_assert(!std::is_invocable_v, width, length>); -static_assert(!std::is_invocable_v, width, quantity_point>); +static_assert(!std::is_invocable_v, width, quantity_point, metre>>); static_assert(!std::is_invocable_v, width, height>); static_assert(!std::is_invocable_v, width, reference>); static_assert(!std::is_invocable_v, width, double>); static_assert(!std::is_invocable_v, width, length>); -static_assert(!std::is_invocable_v, width, quantity_point>); +static_assert(!std::is_invocable_v, width, quantity_point, metre>>); static_assert(!std::is_invocable_v, width, height>); static_assert(!std::is_invocable_v, width, reference>); @@ -650,17 +650,17 @@ static_assert(is_same_v< static_assert(!std::is_invocable_v, reference, width>); static_assert(!std::is_invocable_v, width, height>); -static_assert(!std::is_invocable_v, height, quantity_point>); -static_assert(!std::is_invocable_v, quantity_point, height>); +static_assert(!std::is_invocable_v, height, quantity_point, metre>>); +static_assert(!std::is_invocable_v, quantity_point, metre>, height>); static_assert(!std::is_invocable_v, reference, width>); static_assert(!std::is_invocable_v, width, height>); -static_assert(!std::is_invocable_v, height, quantity_point>); -static_assert(!std::is_invocable_v, quantity_point, height>); +static_assert(!std::is_invocable_v, height, quantity_point, metre>>); +static_assert(!std::is_invocable_v, quantity_point, metre>, height>); static_assert(!std::is_invocable_v, width, reference>); static_assert(!std::is_invocable_v, width, length>); -static_assert(!std::is_invocable_v, width, quantity_point>); +static_assert(!std::is_invocable_v, width, quantity_point, metre, int>>); static_assert(!std::is_invocable_v, width, double>); static_assert(!std::is_invocable_v, width, width>); @@ -801,8 +801,8 @@ concept invalid_cast = requires { requires !requires { quantity_kind_cast>(quantity_kind(1 * m)); }; requires !requires { quantity_kind_cast(quantity_kind(1 * m)); }; requires !requires { quantity_kind_cast(quantity_kind(1 * m)); }; - requires !requires { quantity_kind_cast>(quantity_kind(1 * m)); }; - requires !requires { quantity_kind_cast>(quantity_kind(1 * m)); }; + requires !requires { quantity_kind_cast, metre, int>>(quantity_kind(1 * m)); }; + requires !requires { quantity_kind_cast, one, int>>(quantity_kind(1 * m)); }; }; static_assert(invalid_cast); diff --git a/test/unit_test/static/quantity_point_kind_test.cpp b/test/unit_test/static/quantity_point_kind_test.cpp index b92ba9b5..73738566 100644 --- a/test/unit_test/static/quantity_point_kind_test.cpp +++ b/test/unit_test/static/quantity_point_kind_test.cpp @@ -57,6 +57,18 @@ struct cgs_height_kind : kind {}; struct rate_of_climb_kind : derived_kind {}; struct altitude_kind : point_kind {}; +struct sea_level_origin : point_origin {}; +struct sea_level_altitude_kind : point_kind {}; + +template +struct screen_origin : point_origin { + template + using rebind = screen_origin; +}; +struct screen_si_width_kind : point_kind> {}; +struct screen_si_cgs_width_kind : + point_kind> {}; + struct apple : kind {}; struct orange : kind {}; struct nth_apple_kind : point_kind {}; @@ -65,6 +77,8 @@ struct nth_orange_kind : point_kind {}; struct time_kind : kind {}; struct time_point_kind : point_kind {}; +struct sys_time_point_kind : point_kind> {}; + template using width = quantity_kind; template using height = quantity_kind; template using abscissa = quantity_point_kind; @@ -76,6 +90,13 @@ template using cgs_height = quantity_kind< template using rate_of_climb = quantity_kind; template using altitude = quantity_point_kind; +template +using sea_level_altitude = quantity_point_kind; +template +using screen_si_width = quantity_point_kind; +template +using screen_si_cgs_width = quantity_point_kind; + template using apples = quantity_kind; template using oranges = quantity_kind; template using nth_apple = quantity_point_kind; @@ -89,7 +110,7 @@ static_assert(QuantityPointKind>); static_assert(QuantityPointKind>); static_assert(!QuantityPointKind); static_assert(!QuantityPointKind>); -static_assert(!QuantityPointKind>); +static_assert(!QuantityPointKind, metre>>); static_assert(!QuantityPointKind>); static_assert(QuantityPointKindOf, abscissa_kind>); @@ -100,9 +121,12 @@ static_assert(!QuantityPointKindOf, metre>); static_assert(!QuantityPointKindOf, abscissa_kind>); static_assert(!QuantityPointKindOf, width_kind>); static_assert(!QuantityPointKindOf, metre>); -static_assert(!QuantityPointKindOf, width_kind>); -static_assert(!QuantityPointKindOf, dim_length>); -static_assert(!QuantityPointKindOf, metre>); +static_assert(!QuantityPointKindOf, sea_level_altitude_kind>); +static_assert(!QuantityPointKindOf, sea_level_altitude_kind>); +static_assert(!QuantityPointKindOf, metre>, width_kind>); +static_assert(!QuantityPointKindOf, metre>, dim_length>); +static_assert(!QuantityPointKindOf, metre>, dynamic_origin>); +static_assert(!QuantityPointKindOf, metre>, metre>); /////////////// @@ -117,7 +141,7 @@ concept invalid_types = requires { requires !requires { typename quantity_point_kind; }; // width_kind is not a point kind requires !requires { typename quantity_point_kind; }; // unit of a different dimension requires !requires { typename quantity_point_kind>; }; // quantity used as Rep - requires !requires { typename quantity_point_kind>; }; // quantity point used as Rep + requires !requires { typename quantity_point_kind, metre>>; }; // quantity point used as Rep requires !requires { typename quantity_point_kind>; }; // quantity kind used as Rep requires !requires { typename quantity_point_kind>; }; // quantity point kind used as Rep requires !requires { typename quantity_point_kind; }; // reordered arguments @@ -160,6 +184,7 @@ static_assert(!std::is_aggregate_v>); static_assert(is_same_v::point_kind_type, abscissa_kind>); static_assert(is_same_v::kind_type, width_kind>); +static_assert(is_same_v::origin, dynamic_origin>); static_assert(is_same_v::quantity_kind_type, width>); static_assert(is_same_v::quantity_type, length>); static_assert(is_same_v::dimension, dim_length>); @@ -287,6 +312,14 @@ static_assert(!constructible_or_convertible_from>(quantity_ static_assert(!constructible_or_convertible_from>(quantity_point(1.0 * (m * m)))); static_assert(!constructible_or_convertible_from>(quantity_point(1.0 * s))); +static_assert(construct_from_only>(quantity_point, metre>(1 * m)) + .relative() + .common() == 1 * m); +static_assert(construct_from_only>(quantity_point, metre>(1 * m)) + .relative() + .common() == 1 * m); +static_assert(!constructible_or_convertible_from>(quantity_point(1.0 * m))); + // clang-format off static_assert(construct_from_only>(quantity_point(1)).relative().common() == 1); static_assert(construct_from_only>(quantity_point(1)).relative().common() == 1); @@ -303,8 +336,12 @@ static_assert(!constructible_or_convertible_from>(quantity_p static_assert(!constructible_or_convertible_from>(quantity_point(dimensionless(1)))); static_assert(!constructible_or_convertible_from>(quantity_point(1.0 * s))); -static_assert(construct_from_only>(sys_seconds{42s}).relative().common() == 42 * s); // clang-format on +static_assert( + construct_from_only>(sys_seconds{42s}).relative().common() == + 42 * s); +static_assert(!constructible_or_convertible_from>(sys_seconds{42s}), + "no implicit conversion to/from dynamic_origin"); ////////////////////////////////////// @@ -365,6 +402,15 @@ static_assert(!constructible_or_convertible_from>(nth_orange static_assert(!constructible_or_convertible_from>(abscissa(1 * m))); // clang-format on +static_assert(!constructible_or_convertible_from>( + quantity_point_kind{}), + "no implicit conversion to/from dynamic_origin"); +static_assert(!constructible_or_convertible_from>( + quantity_point_kind{}), + "no implicit conversion to/from dynamic_origin"); +static_assert(!constructible_or_convertible_from>(screen_si_cgs_width(1 * m)), + "base kinds are not the same (required by equivalent)"); + ////////////////////// // other conversions @@ -375,7 +421,7 @@ static_assert(!std::is_convertible_v, dimensionless, length>); static_assert(!std::is_convertible_v, width>); static_assert(!std::is_convertible_v, height>); -static_assert(!std::is_convertible_v, quantity_point>); +static_assert(!std::is_convertible_v, quantity_point, metre, int>>); //////////////////////// @@ -420,7 +466,7 @@ concept invalid_compound_assignments = requires(quantity_point_kind>; requires invalid_compound_assignments_>; requires invalid_compound_assignments_>; - requires invalid_compound_assignments_>; + requires invalid_compound_assignments_, metre, int>>; requires invalid_compound_assignments_; }; static_assert(invalid_compound_assignments); @@ -447,13 +493,13 @@ static_assert(same(width(2 * km) + abscissa(3e3 * static_assert(same(width(2e3 * m) + abscissa(3 * km), abscissa(5e3 * m))); static_assert(!std::is_invocable_v, abscissa, double>); static_assert(!std::is_invocable_v, abscissa, length>); -static_assert(!std::is_invocable_v, abscissa, quantity_point>); +static_assert(!std::is_invocable_v, abscissa, quantity_point, metre>>); static_assert(!std::is_invocable_v, abscissa, height>); static_assert(!std::is_invocable_v, abscissa, abscissa>); static_assert(!std::is_invocable_v, abscissa, abscissa>); static_assert(!std::is_invocable_v, abscissa, abscissa>); static_assert(!std::is_invocable_v, height, abscissa>); -static_assert(!std::is_invocable_v, quantity_point, abscissa>); +static_assert(!std::is_invocable_v, quantity_point, metre>, abscissa>); static_assert(!std::is_invocable_v, length, abscissa>); static_assert(!std::is_invocable_v, double, abscissa>); @@ -469,14 +515,15 @@ static_assert(same(abscissa(2 * km) - abscissa(3e static_assert(same(abscissa(2e3 * m) - abscissa(3 * km), width(-1e3 * m))); static_assert(!std::is_invocable_v, abscissa, double>); static_assert(!std::is_invocable_v, abscissa, length>); -static_assert(!std::is_invocable_v, abscissa, quantity_point>); +static_assert(!std::is_invocable_v, abscissa, quantity_point, metre>>); static_assert(!std::is_invocable_v, abscissa, height>); static_assert(!std::is_invocable_v, abscissa, ordinate>); static_assert(!std::is_invocable_v, ordinate, abscissa>); static_assert(!std::is_invocable_v, height, abscissa>); -static_assert(!std::is_invocable_v, quantity_point, abscissa>); +static_assert(!std::is_invocable_v, quantity_point, metre>, abscissa>); static_assert(!std::is_invocable_v, length, abscissa>); static_assert(!std::is_invocable_v, double, abscissa>); +static_assert(!std::is_invocable_v, screen_si_width, screen_si_cgs_width>); // clang-format on @@ -496,8 +543,8 @@ static_assert(std::equality_comparable_with, abscissa, abscissa>); static_assert(std::equality_comparable_with, abscissa>); // clang-format on -template -concept invalid_equality = requires(quantity_point_kind x) { +template +concept invalid_equality = requires(quantity_point_kind x, Int i) { requires !requires { x == 1; }; requires !requires { x != 1.0; }; requires !requires { x == 1 * m; }; @@ -516,8 +563,9 @@ concept invalid_equality = requires(quantity_point_kind x) requires !requires { x == quantity_point(dimensionless(1.0)); }; requires !requires { x != quantity_point_kind(cgs_width(1 * m)); }; requires !requires { x == ordinate(1 * m); }; + requires !requires { screen_si_width{} != screen_si_cgs_width{}; }; }; -static_assert(invalid_equality); +static_assert(invalid_equality); // clang-format off static_assert(abscissa(1 * m) < abscissa(2 * m)); @@ -531,8 +579,8 @@ static_assert(std::three_way_comparable_with, abscissa< static_assert(std::three_way_comparable_with, abscissa>); static_assert(std::three_way_comparable_with, abscissa>); // clang-format on -template -concept invalid_relational = requires(quantity_point_kind x) { +template +concept invalid_relational = requires(quantity_point_kind x, Int i) { requires !requires { x < 1; }; requires !requires { x <= 1.0; }; requires !requires { x >= 1 * m; }; @@ -551,8 +599,9 @@ concept invalid_relational = requires(quantity_point_kind requires !requires { x < quantity_point(dimensionless(1.0)); }; requires !requires { x <= quantity_point_kind(cgs_width(1 * m)); }; requires !requires { x >= ordinate(1 * m); }; + requires !requires { screen_si_width{} > screen_si_cgs_width{}; }; }; -static_assert(invalid_relational); +static_assert(invalid_relational); ///////////////////////////// @@ -600,6 +649,7 @@ static_assert(same(quantity_point_kind_cast>(abscissa>(abscissa(1 * m)), abscissa(100 * cm))); static_assert(same(quantity_point_kind_cast>(abscissa(0.01 * m)), abscissa(1 * cm))); static_assert(same(quantity_point_kind_cast>(abscissa(1 * cgs_cm)), abscissa(1 * cgs_cm))); +static_assert(same(quantity_point_kind_cast>(screen_si_width(1 * m)), screen_si_cgs_width(1 * m))); // clang-format on template concept invalid_cast = requires(Int i) { @@ -617,8 +667,9 @@ concept invalid_cast = requires(Int i) { requires !requires { quantity_point_kind_cast>(abscissa(i * m)); }; requires !requires { quantity_point_kind_cast(abscissa(i * m)); }; requires !requires { quantity_point_kind_cast(abscissa(i * m)); }; - requires !requires { quantity_point_kind_cast>(abscissa(i * m)); }; - requires !requires { quantity_point_kind_cast>(abscissa(i * m)); }; + requires !requires { quantity_point_kind_cast, metre, Int>>(abscissa(i * m)); }; + requires !requires { quantity_point_kind_cast, one, Int>>(abscissa(i * m)); }; + requires !requires { quantity_point_kind_cast, metre, Int>>(screen_si_width(i * m)); }; }; static_assert(invalid_cast); diff --git a/test/unit_test/static/quantity_point_test.cpp b/test/unit_test/static/quantity_point_test.cpp index ff7771c9..d8e810d9 100644 --- a/test/unit_test/static/quantity_point_test.cpp +++ b/test/unit_test/static/quantity_point_test.cpp @@ -41,72 +41,89 @@ using namespace references; using namespace std::chrono_literals; using sys_seconds = std::chrono::time_point; +struct sea_level_origin : point_origin {}; + // class invariants template concept invalid_types = requires { - requires !requires { typename quantity_point; }; // unit of a different dimension - requires !requires { typename quantity_point>; }; // quantity used as Rep - // quantity point used as Rep - requires !requires { typename quantity_point>; }; - requires !requires { typename quantity; }; // reordered arguments + // unit of a different dimension: + requires !requires { typename quantity_point, second, int>; }; + // quantity used as Rep: + requires !requires { typename quantity_point, metre, quantity>; }; + // quantity point used as Rep: + requires !requires { typename quantity_point, metre, + quantity_point, metre, int>>; }; + // reordered arguments: + requires !requires { typename quantity_point, double>; }; + // dimension used as origin: + requires !requires { typename quantity_point; }; }; static_assert(invalid_types); // member types -static_assert(is_same_v::rep, int>); -static_assert(is_same_v::rep, double>); -static_assert(is_same_v::unit, metre>); -static_assert(is_same_v::unit, kilometre>); -static_assert(is_same_v::dimension, dim_length>); -static_assert(is_same_v::quantity_type, quantity>); +static_assert(is_same_v, metre, int>::rep, int>); +static_assert(is_same_v, metre, double>::rep, double>); +static_assert(is_same_v, metre, int>::unit, metre>); +static_assert(is_same_v, kilometre, int>::unit, kilometre>); +static_assert(is_same_v, metre, int>::dimension, dim_length>); +static_assert(is_same_v, metre, int>::origin, dynamic_origin>); +static_assert(is_same_v, metre, int>::quantity_type, quantity>); // constructors static_assert(quantity_point(1).relative() == quantity(1)); -static_assert(!std::is_convertible_v>); +static_assert(!std::is_convertible_v, one, int>>); static_assert(quantity_point(42s).relative() == 42 * s); static_assert(quantity_point(sys_seconds{42s}).relative() == 42 * s); -static_assert(!std::is_convertible_v>); -static_assert(!std::is_convertible_v>); +static_assert(!std::is_convertible_v, second, std::chrono::seconds::rep>>); +static_assert(!std::is_convertible_v, second, std::chrono::seconds::rep>>); +static_assert(!std::is_convertible_v, second, sys_seconds::rep>>); +static_assert(!std::is_convertible_v, second, sys_seconds::rep>>); -static_assert(quantity_point().relative() == 0_q_m); -constexpr quantity_point km{1000_q_m}; +static_assert(quantity_point, metre, int>().relative() == 0_q_m); +constexpr quantity_point, metre, int> km{1000_q_m}; static_assert(km.relative() == 1000_q_m); -static_assert(quantity_point(km).relative() == km.relative()); +static_assert(quantity_point, metre, int>(km).relative() == km.relative()); -static_assert(quantity_point(1_q_m).relative() == 1_q_m); -static_assert(!std::is_constructible_v, double>); // truncating conversion -static_assert(quantity_point(1.0_q_m).relative() == 1.0_q_m); -static_assert(quantity_point(1_q_m).relative() == 1_q_m); -static_assert(quantity_point(3.14_q_m).relative() == 3.14_q_m); +static_assert(quantity_point, metre, int>(1_q_m).relative() == 1_q_m); +static_assert(!std::is_constructible_v, metre, int>, double>); // truncating conversion +static_assert(quantity_point, metre, double>(1.0_q_m).relative() == 1.0_q_m); +static_assert(quantity_point, metre, double>(1_q_m).relative() == 1_q_m); +static_assert(quantity_point, metre, long double>(3.14_q_m).relative() == 3.14_q_m); -static_assert(quantity_point(km).relative() == 1000_q_m); -static_assert(!std::is_constructible_v, - quantity_point>); // truncating conversion -static_assert(quantity_point(quantity_point(1000.0_q_m)).relative() == 1000.0_q_m); -static_assert(quantity_point(km).relative() == 1000.0_q_m); -static_assert(quantity_point(quantity_point(1_q_km)).relative() == 1000_q_m); -static_assert(!std::is_constructible_v, - quantity_point>); // different dimensions -static_assert(!std::is_constructible_v, - quantity_point>); // truncating conversion +static_assert(quantity_point, metre, int>(km).relative() == 1000_q_m); +static_assert(!std::is_constructible_v, metre, int>, + quantity_point, metre, double>>); // truncating conversion +static_assert(quantity_point, metre, double>(quantity_point(1000.0_q_m)).relative() == 1000.0_q_m); +static_assert(quantity_point, metre, double>(km).relative() == 1000.0_q_m); +static_assert(quantity_point, metre, int>(quantity_point(1_q_km)).relative() == 1000_q_m); +static_assert(!std::is_constructible_v, metre, int>, + quantity_point, second, int>>); // different dimensions +static_assert(!std::is_constructible_v, kilometre, int>, + quantity_point, metre, int>>); // truncating conversion + +static_assert(!std::is_constructible_v, + quantity_point, metre, int>>, + "non-equivalent origins"); +static_assert(!std::is_constructible_v, second, int>, sys_seconds>, + "non-equivalent origins, no implicit conversion from `clock_origin`"); // assignment operator -static_assert([]() { quantity_point l1(1_q_m), l2{}; return l2 = l1; }().relative() == 1_q_m); +static_assert([]() { quantity_point, metre, int> l1(1_q_m), l2{}; return l2 = l1; }().relative() == 1_q_m); // static member functions -static_assert(quantity_point::min().relative().number() == std::numeric_limits::lowest()); -static_assert(quantity_point::max().relative().number() == std::numeric_limits::max()); -static_assert(quantity_point::min().relative().number() == +static_assert(quantity_point, metre, int>::min().relative().number() == std::numeric_limits::lowest()); +static_assert(quantity_point, metre, int>::max().relative().number() == std::numeric_limits::max()); +static_assert(quantity_point, metre, double>::min().relative().number() == std::numeric_limits::lowest()); -static_assert(quantity_point::max().relative().number() == +static_assert(quantity_point, metre, double>::max().relative().number() == std::numeric_limits::max()); // unary member operators @@ -114,19 +131,19 @@ static_assert(quantity_point::max().relative().number static_assert([](auto v) { auto vv = v++; return std::pair(v, vv); -}(km) == std::pair(quantity_point(1001_q_m), quantity_point(1000_q_m))); +}(km) == std::pair(quantity_point, metre, int>(1001_q_m), quantity_point, metre, int>(1000_q_m))); static_assert([](auto v) { auto vv = ++v; return std::pair(v, vv); -}(km) == std::pair(quantity_point(1001_q_m), quantity_point(1001_q_m))); +}(km) == std::pair(quantity_point, metre, int>(1001_q_m), quantity_point, metre, int>(1001_q_m))); static_assert([](auto v) { auto vv = v--; return std::pair(v, vv); -}(km) == std::pair(quantity_point(999_q_m), quantity_point(1000_q_m))); +}(km) == std::pair(quantity_point, metre, int>(999_q_m), quantity_point, metre, int>(1000_q_m))); static_assert([](auto v) { auto vv = --v; return std::pair(v, vv); -}(km) == std::pair(quantity_point(999_q_m), quantity_point(999_q_m))); +}(km) == std::pair(quantity_point, metre, int>(999_q_m), quantity_point, metre, int>(999_q_m))); // compound assignment @@ -135,23 +152,23 @@ static_assert((quantity_point(2_q_m) -= 1_q_m).relative().number() == 1); // non-member arithmetic operators -static_assert(compare() + length()), - quantity_point>); -static_assert(compare() + quantity_point()), - quantity_point>); -static_assert(compare() + length()), - quantity_point>); -static_assert(compare() + quantity_point()), - quantity_point>); -static_assert(compare() - length()), - quantity_point>); -static_assert(compare() - length()), - quantity_point>); +static_assert(compare, metre, int>() + length()), + quantity_point, metre, double>>); +static_assert(compare() + quantity_point, metre, double>()), + quantity_point, metre, double>>); +static_assert(compare, kilometre, int>() + length()), + quantity_point, metre, double>>); +static_assert(compare() + quantity_point, metre, double>()), + quantity_point, metre, double>>); +static_assert(compare, metre, double>() - length()), + quantity_point, metre, double>>); +static_assert(compare, kilometre, double>() - length()), + quantity_point, metre, double>>); static_assert( - compare() - quantity_point()), + compare, metre, double>() - quantity_point, metre, int>()), length>); static_assert( - compare() - quantity_point()), + compare, kilometre, double>() - quantity_point, metre, int>()), length>); static_assert((1_q_m + km).relative().number() == 1001); @@ -159,6 +176,13 @@ static_assert((quantity_point(1_q_m) + 1_q_km).relative().number() == 1001); static_assert((km - 1_q_m).relative().number() == 999); static_assert((quantity_point(1_q_km) - quantity_point(1_q_m)).number() == 999); +template +concept invalid_subtraction = requires(quantity_point, metre, Int> lhs, + quantity_point rhs) { + requires !requires { rhs - lhs; }; +}; +static_assert(invalid_subtraction); + // comparators static_assert(quantity_point(2_q_m) + 1_q_m == quantity_point(3_q_m)); @@ -190,6 +214,14 @@ static_assert(quantity_point(999_q_m) < quantity_point(1_q_km)); static_assert(quantity_point(1000_q_m) >= quantity_point(1_q_km)); static_assert(quantity_point(1000_q_m) <= quantity_point(1_q_km)); +template +concept invalid_comparisons = requires(quantity_point, metre, Int> lhs, + quantity_point rhs) { + requires !requires { lhs == rhs; }; + requires !requires { lhs < rhs; }; +}; +static_assert(invalid_comparisons); + // alias units static_assert(quantity_point(2_q_l) + 2_q_ml == quantity_point(2002_q_ml)); @@ -199,19 +231,19 @@ static_assert(2_q_dm3 + quantity_point(2_q_cm3) == quantity_point(2002_q_ml)); // is_quantity_point -static_assert(QuantityPoint>); +static_assert(QuantityPoint, millimetre, int>>); // common_quantity_point static_assert(compare< - common_quantity_point, quantity_point>, - quantity_point>); -static_assert(compare, - quantity_point>, - quantity_point>); -static_assert(compare, - quantity_point>, - quantity_point>); + common_quantity_point, metre, int>, quantity_point, kilometre, int>>, + quantity_point, metre, int>>); +static_assert(compare, kilometre, long long>, + quantity_point, metre, int>>, + quantity_point, metre, long long>>); +static_assert(compare, kilometre, long long>, + quantity_point, millimetre, double>>, + quantity_point, millimetre, double>>); // common_type @@ -224,11 +256,11 @@ static_assert(std::equality_comparable_with>(quantity_point(2_q_km)).relative().number() == +static_assert(quantity_point_cast, metre, int>>(quantity_point(2_q_km)).relative().number() == 2000); static_assert( - quantity_point_cast>(quantity_point(2000_q_m)).relative().number() == 2); -static_assert(quantity_point_cast>(quantity_point(1.23_q_m)).relative().number() == + quantity_point_cast, kilometre, int>>(quantity_point(2000_q_m)).relative().number() == 2); +static_assert(quantity_point_cast, metre, int>>(quantity_point(1.23_q_m)).relative().number() == 1); static_assert(quantity_point_cast>(quantity_point(2_q_km)).relative().number() == 2000); static_assert(quantity_point_cast>(quantity_point(2000_q_m)).relative().number() == 2); @@ -238,6 +270,13 @@ static_assert(quantity_point_cast(quantity_point(2000_q_m)).relative( static_assert(quantity_point_cast(quantity_point(1.23_q_m)).relative().number() == 1); static_assert(quantity_point_cast(quantity_point(2000.0_q_m / 3600.0_q_s)).relative().number() == 2); +template +concept invalid_cast = requires(Int i) { + requires !requires { quantity_point_cast, second, Int>>(quantity_point(i * m)); }; + requires !requires { quantity_point_cast, metre, Int>>(quantity_point(i * m)); }; +}; +static_assert(invalid_cast); + // time static_assert(quantity_point{1_q_h} == quantity_point{3600_q_s}); @@ -263,6 +302,6 @@ concept dimensional_analysis = requires(T t) pow<2>(t); }; -static_assert(!dimensional_analysis>); +static_assert(!dimensional_analysis, metre, int>>); } // namespace