From ef9c7ac15d2e0c47df0e06a4e89116194428ea97 Mon Sep 17 00:00:00 2001 From: Patrick Wuttke Date: Mon, 2 Jan 2023 17:12:23 +0100 Subject: [PATCH] Added spaceship operator. --- glm/gtx/spaceship.hpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 glm/gtx/spaceship.hpp diff --git a/glm/gtx/spaceship.hpp b/glm/gtx/spaceship.hpp new file mode 100644 index 00000000..8611236e --- /dev/null +++ b/glm/gtx/spaceship.hpp @@ -0,0 +1,33 @@ + +#pragma once + +#include +#include "../detail/qualifier.hpp" +#include "../detail/setup.hpp" + +namespace glm +{ + template + GLM_FUNC_DECL GLM_CONSTEXPR std::strong_ordering operator<=>(const glm::vec& left, const glm::vec& right) + { + if (left[0] != right[0]) { + return left[0] <=> right[0]; + } + if constexpr (l > 1) { + if (left[1] != right[1]) { + return left[1] <=> right[1]; + } + } + if constexpr (l > 2) { + if (left[2] != right[2]) { + return left[2] <=> right[2]; + } + } + if constexpr (l > 3) { + if (left[3] != right[3]) { + return left[3] <=> right[3]; + } + } + return std::strong_ordering::equal; + } +} \ No newline at end of file