From 2ac977ddcc512eeb44a2118bce412b965bbf87e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Fri, 9 Jul 2021 22:33:24 +0200
Subject: [PATCH] Remove name field from FixedBoundaryConditionDescriptor and
 plug it

---
 src/language/modules/SchemeModule.cpp           | 12 ++++++++++++
 src/scheme/FixedBoundaryConditionDescriptor.hpp | 17 ++++-------------
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/src/language/modules/SchemeModule.cpp b/src/language/modules/SchemeModule.cpp
index 2dbeb1824..fec3c2352 100644
--- a/src/language/modules/SchemeModule.cpp
+++ b/src/language/modules/SchemeModule.cpp
@@ -191,6 +191,18 @@ SchemeModule::SchemeModule()
 
                               ));
 
+  this
+    ->_addBuiltinFunction("fixed",
+                          std::make_shared<BuiltinFunctionEmbedder<std::shared_ptr<const IBoundaryConditionDescriptor>(
+                            std::shared_ptr<const IBoundaryDescriptor>)>>(
+
+                            [](std::shared_ptr<const IBoundaryDescriptor> boundary)
+                              -> std::shared_ptr<const IBoundaryConditionDescriptor> {
+                              return std::make_shared<FixedBoundaryConditionDescriptor>(boundary);
+                            }
+
+                            ));
+
   this
     ->_addBuiltinFunction("symmetry",
                           std::make_shared<BuiltinFunctionEmbedder<std::shared_ptr<const IBoundaryConditionDescriptor>(
diff --git a/src/scheme/FixedBoundaryConditionDescriptor.hpp b/src/scheme/FixedBoundaryConditionDescriptor.hpp
index 2a635b041..9167c24be 100644
--- a/src/scheme/FixedBoundaryConditionDescriptor.hpp
+++ b/src/scheme/FixedBoundaryConditionDescriptor.hpp
@@ -13,7 +13,7 @@ class FixedBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
   std::ostream&
   _write(std::ostream& os) const final
   {
-    os << "fixed(" << m_name << ',' << *m_boundary_descriptor << ")";
+    os << "fixed(" << *m_boundary_descriptor << ")";
     return os;
   }
 
@@ -22,12 +22,6 @@ class FixedBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
   std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
 
  public:
-  std::string_view
-  name() const
-  {
-    return m_name;
-  }
-
   const IBoundaryDescriptor&
   boundaryDescriptor() const
   {
@@ -40,12 +34,9 @@ class FixedBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
     return Type::fixed;
   }
 
-  FixedBoundaryConditionDescriptor(const std::string_view name,
-                                   std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
-    : m_name{name}, m_boundary_descriptor(boundary_descriptor)
-  {
-    ;
-  }
+  FixedBoundaryConditionDescriptor(std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
+    : m_boundary_descriptor(boundary_descriptor)
+  {}
 
   FixedBoundaryConditionDescriptor(const FixedBoundaryConditionDescriptor&) = delete;
   FixedBoundaryConditionDescriptor(FixedBoundaryConditionDescriptor&&)      = delete;
-- 
GitLab