diff --git a/libs/geom/include/psemek/geom/vector.hpp b/libs/geom/include/psemek/geom/vector.hpp index d9a5daac..ddd56b8f 100644 --- a/libs/geom/include/psemek/geom/vector.hpp +++ b/libs/geom/include/psemek/geom/vector.hpp @@ -9,6 +9,7 @@ #include #include #include +#include namespace psemek::geom { @@ -97,6 +98,19 @@ namespace psemek::geom return !(v1 < v2); } + template + std::strong_ordering operator <=> (vector const & v1, vector const & v2) + { + for (std::size_t i = 0; i < N; ++i) + { + if (v1[i] < v2[i]) + return std::strong_ordering::less; + if (v1[i] > v2[i]) + return std::strong_ordering::greater; + } + return std::strong_ordering::equal; + } + template vector cast(vector const & v) {