From f70b339dbc575664abe1f1a56c383642c7f96881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9au?= <theau.baton@etu.univ-amu.fr> Date: Sun, 13 Oct 2024 02:59:27 +0200 Subject: [PATCH] Add operator()(...) on buffers --- source/engine/graphics/back/buffers/DynamicBuffer.hpp | 2 +- source/engine/graphics/back/buffers/ElementBuffer.cpp | 4 ++++ source/engine/graphics/back/buffers/ElementBuffer.hpp | 1 + source/engine/graphics/back/buffers/VertexArray.cpp | 4 ++++ source/engine/graphics/back/buffers/VertexArray.hpp | 1 + source/engine/graphics/back/buffers/VerticeBuffer.cpp | 4 ++++ source/engine/graphics/back/buffers/VerticeBuffer.hpp | 1 + 7 files changed, 16 insertions(+), 1 deletion(-) diff --git a/source/engine/graphics/back/buffers/DynamicBuffer.hpp b/source/engine/graphics/back/buffers/DynamicBuffer.hpp index 1cf3573..aea44f2 100644 --- a/source/engine/graphics/back/buffers/DynamicBuffer.hpp +++ b/source/engine/graphics/back/buffers/DynamicBuffer.hpp @@ -50,7 +50,7 @@ namespace megu { T at(size_t index) const; std::vector<T> extract() const; - std::vector<T> extract(size_t from,size_t to) const; + std::vector<T> extract(size_t from, size_t to) const; T operator[](size_t index) const; diff --git a/source/engine/graphics/back/buffers/ElementBuffer.cpp b/source/engine/graphics/back/buffers/ElementBuffer.cpp index 07b4e4e..a3fe929 100644 --- a/source/engine/graphics/back/buffers/ElementBuffer.cpp +++ b/source/engine/graphics/back/buffers/ElementBuffer.cpp @@ -70,6 +70,10 @@ namespace megu { return this->_id <= ebo._id; } + bool ElementBuffer::operator()(const ElementBuffer & ebo) const { + return *this < ebo; + } + std::strong_ordering ElementBuffer::operator<=>(const ElementBuffer & ebo) const { return this->_id <=> ebo._id; } diff --git a/source/engine/graphics/back/buffers/ElementBuffer.hpp b/source/engine/graphics/back/buffers/ElementBuffer.hpp index cff8543..e873b58 100644 --- a/source/engine/graphics/back/buffers/ElementBuffer.hpp +++ b/source/engine/graphics/back/buffers/ElementBuffer.hpp @@ -26,6 +26,7 @@ namespace megu { inline bool operator!=(const ElementBuffer &) const; inline bool operator<=(const ElementBuffer &) const; inline bool operator>=(const ElementBuffer &) const; + inline bool operator()(const ElementBuffer &) const; inline bool operator<(const ElementBuffer &) const; inline bool operator>(const ElementBuffer &) const; diff --git a/source/engine/graphics/back/buffers/VertexArray.cpp b/source/engine/graphics/back/buffers/VertexArray.cpp index ad2d67c..da6f9fe 100644 --- a/source/engine/graphics/back/buffers/VertexArray.cpp +++ b/source/engine/graphics/back/buffers/VertexArray.cpp @@ -45,6 +45,10 @@ namespace megu { return this->_vao >= vao._vao; } + bool VertexArray::operator()(const VertexArray & vao) const { + return *this > vao; + } + bool VertexArray::operator<(const VertexArray & vao) const { return this->_vao < vao._vao; } diff --git a/source/engine/graphics/back/buffers/VertexArray.hpp b/source/engine/graphics/back/buffers/VertexArray.hpp index 8e5ee67..4c8fdc2 100644 --- a/source/engine/graphics/back/buffers/VertexArray.hpp +++ b/source/engine/graphics/back/buffers/VertexArray.hpp @@ -21,6 +21,7 @@ namespace megu { bool operator!=(const VertexArray &) const; bool operator<=(const VertexArray &) const; bool operator>=(const VertexArray &) const; + bool operator()(const VertexArray &) const; bool operator<(const VertexArray &) const; bool operator>(const VertexArray &) const; diff --git a/source/engine/graphics/back/buffers/VerticeBuffer.cpp b/source/engine/graphics/back/buffers/VerticeBuffer.cpp index 98e2c4d..2bcee15 100644 --- a/source/engine/graphics/back/buffers/VerticeBuffer.cpp +++ b/source/engine/graphics/back/buffers/VerticeBuffer.cpp @@ -90,6 +90,10 @@ namespace megu { return this->_id <= vbo._id; } + bool VerticeBuffer::operator()(const VerticeBuffer & vbo) const { + return *this < vbo; + } + std::strong_ordering VerticeBuffer::operator<=>(const VerticeBuffer & vbo) const { return this->_id <=> vbo._id; } diff --git a/source/engine/graphics/back/buffers/VerticeBuffer.hpp b/source/engine/graphics/back/buffers/VerticeBuffer.hpp index 7c44003..27411df 100644 --- a/source/engine/graphics/back/buffers/VerticeBuffer.hpp +++ b/source/engine/graphics/back/buffers/VerticeBuffer.hpp @@ -35,6 +35,7 @@ namespace megu { bool operator!=(const VerticeBuffer &) const; bool operator<=(const VerticeBuffer &) const; bool operator>=(const VerticeBuffer &) const; + bool operator()(const VerticeBuffer &) const; bool operator<(const VerticeBuffer &) const; bool operator>(const VerticeBuffer &) const; -- GitLab