From f5ed784ff3c1d95750e9cb631b762a48faa8214e Mon Sep 17 00:00:00 2001
From: Olivier BICHLER <olivier.bichler@cea.fr>
Date: Wed, 25 Sep 2024 14:19:16 +0200
Subject: [PATCH] Merged with main

---
 include/aidge/operator/ILayerNorm.hpp | 3 ++-
 src/operator/ILayerNorm.cpp           | 6 +++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/include/aidge/operator/ILayerNorm.hpp b/include/aidge/operator/ILayerNorm.hpp
index 9eec04592..f660cc64e 100644
--- a/include/aidge/operator/ILayerNorm.hpp
+++ b/include/aidge/operator/ILayerNorm.hpp
@@ -28,7 +28,7 @@
 namespace Aidge {
 
 class ILayerNorm_Op : public OperatorTensor,
-    public Registrable<ILayerNorm_Op, std::string, std::shared_ptr<OperatorImpl>(const ILayerNorm_Op&)> {
+    public Registrable<ILayerNorm_Op, std::string, std::function<std::shared_ptr<OperatorImpl>(const ILayerNorm_Op&)>> {
 public:
     static const std::string Type;
 
@@ -63,6 +63,7 @@ public:
     bool forwardDims(bool allowDataDependency = false) override final;
 
     void setBackend(const std::string& name, DeviceIdx_t device = 0) override final;
+    std::set<std::string> getAvailableBackends() const override;
 
     static const std::vector<std::string> getInputsName(){
         return {"data_input", "weight", "bias"};
diff --git a/src/operator/ILayerNorm.cpp b/src/operator/ILayerNorm.cpp
index dafe7ed0f..daa7ecf86 100644
--- a/src/operator/ILayerNorm.cpp
+++ b/src/operator/ILayerNorm.cpp
@@ -49,4 +49,8 @@ void Aidge::ILayerNorm_Op::setBackend(const std::string& name, DeviceIdx_t devic
     mOutputs[0]->setBackend(name, device);
     getInput(1)->setBackend(name, device);
     getInput(2)->setBackend(name, device);
-}
\ No newline at end of file
+}
+
+std::set<std::string> Aidge::ILayerNorm_Op::getAvailableBackends() const {
+    return Registrar<ILayerNorm_Op>::getKeys();
+}
-- 
GitLab