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