diff --git a/glm/gtx/spaceship.hpp b/glm/gtx/spaceship.hpp new file mode 100644 index 00000000..80349983 --- /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