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