diff --git a/openVulkanoCpp/Math/DenseVector3i.hpp b/openVulkanoCpp/Math/DenseVector3i.hpp index dc062f5..2b8815c 100644 --- a/openVulkanoCpp/Math/DenseVector3i.hpp +++ b/openVulkanoCpp/Math/DenseVector3i.hpp @@ -11,6 +11,7 @@ #include #include #include +#include namespace openVulkanoCpp::Math { @@ -108,44 +109,49 @@ namespace openVulkanoCpp::Math data = (data & !(BITMASK << BITS)) | ((z & BITMASK) << BITS); } - constexpr operator T() const { return data; } + [[nodiscard]] std::string ToString(const std::string& separator = ", ") const + { + return std::to_string(X()) + "," + std::to_string(Y()) + "," + std::to_string(Z()); + } - constexpr bool operator <(DenseVec3 rhs) const + [[nodiscard]] constexpr operator T() const { return data; } + + [[nodiscard]] constexpr bool operator <(DenseVec3 rhs) const { return data < rhs.data; } - bool operator>(DenseVec3 rhs) const + [[nodiscard]] bool operator>(DenseVec3 rhs) const { return rhs < *this; } - bool operator>=(DenseVec3 rhs) const + [[nodiscard]] bool operator>=(DenseVec3 rhs) const { return !(*this < rhs); } - bool operator<=(DenseVec3 rhs) const + [[nodiscard]] bool operator<=(DenseVec3 rhs) const { return !(rhs < *this); } - constexpr bool operator ==(DenseVec3 rhs) + [[nodiscard]] constexpr bool operator ==(DenseVec3 rhs) const { return data == rhs.data; } - constexpr bool operator !=(DenseVec3 rhs) + [[nodiscard]] constexpr bool operator !=(DenseVec3 rhs) const { return data == rhs.data; } - explicit constexpr operator Math::Vector3i() + [[nodiscard]] explicit constexpr operator Math::Vector3i() const { return { X(), Y(), Z() }; } - explicit constexpr operator Math::Vector3i_SIMD() + [[nodiscard]] explicit constexpr operator Math::Vector3i_SIMD() const { return { X(), Y(), Z() }; }