From 87a17ffae7ae815c7bfd468fdf5fdc4eeaa9b3bd Mon Sep 17 00:00:00 2001
From: hrouis <houssemeddine.rouis92@gmail.com>
Date: Mon, 28 Oct 2024 15:13:14 +0100
Subject: [PATCH] getAvailableImplSpecs now return a vector for binding
 purposes.

---
 include/aidge/backend/cuda/operator/AddImpl.hpp                 | 2 +-
 include/aidge/backend/cuda/operator/AndImpl.hpp                 | 2 +-
 include/aidge/backend/cuda/operator/ArgMaxImpl.hpp              | 2 +-
 include/aidge/backend/cuda/operator/AvgPoolingImpl.hpp          | 2 +-
 include/aidge/backend/cuda/operator/BatchNormImpl.hpp           | 2 +-
 include/aidge/backend/cuda/operator/ConvImpl.hpp                | 2 +-
 include/aidge/backend/cuda/operator/DivImpl.hpp                 | 2 +-
 include/aidge/backend/cuda/operator/FCImpl.hpp                  | 2 +-
 .../aidge/backend/cuda/operator/GlobalAveragePoolingImpl.hpp    | 2 +-
 include/aidge/backend/cuda/operator/ILayerNormImpl.hpp          | 2 +-
 include/aidge/backend/cuda/operator/LnImpl.hpp                  | 2 +-
 include/aidge/backend/cuda/operator/MaxPoolingImpl.hpp          | 2 +-
 include/aidge/backend/cuda/operator/MulImpl.hpp                 | 2 +-
 include/aidge/backend/cuda/operator/PadImpl.hpp                 | 2 +-
 include/aidge/backend/cuda/operator/PowImpl.hpp                 | 2 +-
 include/aidge/backend/cuda/operator/ReLUImpl.hpp                | 2 +-
 include/aidge/backend/cuda/operator/ReduceMeanImpl.hpp          | 2 +-
 include/aidge/backend/cuda/operator/ReduceSumImpl.hpp           | 2 +-
 include/aidge/backend/cuda/operator/ReshapeImpl.hpp             | 2 +-
 include/aidge/backend/cuda/operator/ShiftGELUImpl.hpp           | 2 +-
 include/aidge/backend/cuda/operator/ShiftMaxImpl.hpp            | 2 +-
 include/aidge/backend/cuda/operator/SigmoidImpl.hpp             | 2 +-
 include/aidge/backend/cuda/operator/SubImpl.hpp                 | 2 +-
 include/aidge/backend/cuda/operator/TanhImpl.hpp                | 2 +-
 24 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/include/aidge/backend/cuda/operator/AddImpl.hpp b/include/aidge/backend/cuda/operator/AddImpl.hpp
index 429d6f1..42d420f 100644
--- a/include/aidge/backend/cuda/operator/AddImpl.hpp
+++ b/include/aidge/backend/cuda/operator/AddImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<AddImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/AndImpl.hpp b/include/aidge/backend/cuda/operator/AndImpl.hpp
index 4105ec8..e90a4c5 100644
--- a/include/aidge/backend/cuda/operator/AndImpl.hpp
+++ b/include/aidge/backend/cuda/operator/AndImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<AndImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/ArgMaxImpl.hpp b/include/aidge/backend/cuda/operator/ArgMaxImpl.hpp
index a89aebf..7b46280 100644
--- a/include/aidge/backend/cuda/operator/ArgMaxImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ArgMaxImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<ArgMaxImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/AvgPoolingImpl.hpp b/include/aidge/backend/cuda/operator/AvgPoolingImpl.hpp
index 7f8fb40..1c4efcf 100644
--- a/include/aidge/backend/cuda/operator/AvgPoolingImpl.hpp
+++ b/include/aidge/backend/cuda/operator/AvgPoolingImpl.hpp
@@ -37,7 +37,7 @@ public:
         return std::make_unique<AvgPoolingImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/BatchNormImpl.hpp b/include/aidge/backend/cuda/operator/BatchNormImpl.hpp
index 5ba8656..025ef40 100644
--- a/include/aidge/backend/cuda/operator/BatchNormImpl.hpp
+++ b/include/aidge/backend/cuda/operator/BatchNormImpl.hpp
@@ -37,7 +37,7 @@ public:
         return std::make_unique<BatchNormImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/ConvImpl.hpp b/include/aidge/backend/cuda/operator/ConvImpl.hpp
index ce94ec6..27f3781 100644
--- a/include/aidge/backend/cuda/operator/ConvImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ConvImpl.hpp
@@ -43,7 +43,7 @@ public:
         return std::make_unique<ConvImpl_cuda<DIM>>(op, true);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Any}
         };
diff --git a/include/aidge/backend/cuda/operator/DivImpl.hpp b/include/aidge/backend/cuda/operator/DivImpl.hpp
index 4b15445..fbd3c73 100644
--- a/include/aidge/backend/cuda/operator/DivImpl.hpp
+++ b/include/aidge/backend/cuda/operator/DivImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<DivImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/FCImpl.hpp b/include/aidge/backend/cuda/operator/FCImpl.hpp
index f2dd0c9..8380754 100644
--- a/include/aidge/backend/cuda/operator/FCImpl.hpp
+++ b/include/aidge/backend/cuda/operator/FCImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<FCImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/GlobalAveragePoolingImpl.hpp b/include/aidge/backend/cuda/operator/GlobalAveragePoolingImpl.hpp
index 3f0386d..5b0cf07 100644
--- a/include/aidge/backend/cuda/operator/GlobalAveragePoolingImpl.hpp
+++ b/include/aidge/backend/cuda/operator/GlobalAveragePoolingImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<GlobalAveragePoolingImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Any}
         };
diff --git a/include/aidge/backend/cuda/operator/ILayerNormImpl.hpp b/include/aidge/backend/cuda/operator/ILayerNormImpl.hpp
index 742401d..0d858c4 100644
--- a/include/aidge/backend/cuda/operator/ILayerNormImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ILayerNormImpl.hpp
@@ -37,7 +37,7 @@ public:
         return std::make_unique<ILayerNormImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/LnImpl.hpp b/include/aidge/backend/cuda/operator/LnImpl.hpp
index 1617754..fbbccc1 100644
--- a/include/aidge/backend/cuda/operator/LnImpl.hpp
+++ b/include/aidge/backend/cuda/operator/LnImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<LnImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/MaxPoolingImpl.hpp b/include/aidge/backend/cuda/operator/MaxPoolingImpl.hpp
index a203e76..474a408 100644
--- a/include/aidge/backend/cuda/operator/MaxPoolingImpl.hpp
+++ b/include/aidge/backend/cuda/operator/MaxPoolingImpl.hpp
@@ -37,7 +37,7 @@ public:
         return std::make_unique<MaxPoolingImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Any}
         };
diff --git a/include/aidge/backend/cuda/operator/MulImpl.hpp b/include/aidge/backend/cuda/operator/MulImpl.hpp
index 37d3d5a..9a1a4d7 100644
--- a/include/aidge/backend/cuda/operator/MulImpl.hpp
+++ b/include/aidge/backend/cuda/operator/MulImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<MulImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/PadImpl.hpp b/include/aidge/backend/cuda/operator/PadImpl.hpp
index d51361d..a0f7037 100644
--- a/include/aidge/backend/cuda/operator/PadImpl.hpp
+++ b/include/aidge/backend/cuda/operator/PadImpl.hpp
@@ -37,7 +37,7 @@ public:
         return std::make_unique<PadImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/PowImpl.hpp b/include/aidge/backend/cuda/operator/PowImpl.hpp
index 403648d..9b53d8d 100644
--- a/include/aidge/backend/cuda/operator/PowImpl.hpp
+++ b/include/aidge/backend/cuda/operator/PowImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<PowImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/ReLUImpl.hpp b/include/aidge/backend/cuda/operator/ReLUImpl.hpp
index 344923b..306a56c 100644
--- a/include/aidge/backend/cuda/operator/ReLUImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ReLUImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<ReLUImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Any}
         };
diff --git a/include/aidge/backend/cuda/operator/ReduceMeanImpl.hpp b/include/aidge/backend/cuda/operator/ReduceMeanImpl.hpp
index a50ff21..1f68784 100644
--- a/include/aidge/backend/cuda/operator/ReduceMeanImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ReduceMeanImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<ReduceMeanImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/ReduceSumImpl.hpp b/include/aidge/backend/cuda/operator/ReduceSumImpl.hpp
index a5a7ae4..10af90b 100644
--- a/include/aidge/backend/cuda/operator/ReduceSumImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ReduceSumImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<ReduceSumImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/ReshapeImpl.hpp b/include/aidge/backend/cuda/operator/ReshapeImpl.hpp
index d412590..2c8ebd6 100644
--- a/include/aidge/backend/cuda/operator/ReshapeImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ReshapeImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<ReshapeImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/ShiftGELUImpl.hpp b/include/aidge/backend/cuda/operator/ShiftGELUImpl.hpp
index f83b41a..1eff6df 100644
--- a/include/aidge/backend/cuda/operator/ShiftGELUImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ShiftGELUImpl.hpp
@@ -37,7 +37,7 @@ public:
         return std::make_unique<ShiftGELUImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/ShiftMaxImpl.hpp b/include/aidge/backend/cuda/operator/ShiftMaxImpl.hpp
index 707b561..3e6e374 100644
--- a/include/aidge/backend/cuda/operator/ShiftMaxImpl.hpp
+++ b/include/aidge/backend/cuda/operator/ShiftMaxImpl.hpp
@@ -37,7 +37,7 @@ public:
         return std::make_unique<ShiftMaxImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/SigmoidImpl.hpp b/include/aidge/backend/cuda/operator/SigmoidImpl.hpp
index bc29b9e..dc1434c 100644
--- a/include/aidge/backend/cuda/operator/SigmoidImpl.hpp
+++ b/include/aidge/backend/cuda/operator/SigmoidImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<SigmoidImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Any}
         };
diff --git a/include/aidge/backend/cuda/operator/SubImpl.hpp b/include/aidge/backend/cuda/operator/SubImpl.hpp
index 45c833f..529d0b2 100644
--- a/include/aidge/backend/cuda/operator/SubImpl.hpp
+++ b/include/aidge/backend/cuda/operator/SubImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<SubImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Float64},
             {DataType::Float32},
diff --git a/include/aidge/backend/cuda/operator/TanhImpl.hpp b/include/aidge/backend/cuda/operator/TanhImpl.hpp
index 166acd6..a87d7bd 100644
--- a/include/aidge/backend/cuda/operator/TanhImpl.hpp
+++ b/include/aidge/backend/cuda/operator/TanhImpl.hpp
@@ -36,7 +36,7 @@ public:
         return std::make_unique<TanhImpl_cuda>(op);
     }
 
-    virtual std::set<ImplSpec> getAvailableImplSpecs() const override {
+    virtual std::vector<ImplSpec> getAvailableImplSpecs() const override {
         return {
             {DataType::Any}
         };
-- 
GitLab