From 0f15387c6c8d6f6ef0a89315f13af48d8689dd36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Wed, 14 Apr 2021 17:49:16 +0200 Subject: [PATCH] Shader: Add ShaderAst::Clone free function --- include/Nazara/Shader/ShaderAstCloner.hpp | 3 +++ include/Nazara/Shader/ShaderAstCloner.inl | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/include/Nazara/Shader/ShaderAstCloner.hpp b/include/Nazara/Shader/ShaderAstCloner.hpp index 33b6acf3a..08bb53227 100644 --- a/include/Nazara/Shader/ShaderAstCloner.hpp +++ b/include/Nazara/Shader/ShaderAstCloner.hpp @@ -81,6 +81,9 @@ namespace Nz::ShaderAst std::vector m_expressionStack; std::vector m_statementStack; }; + + inline ExpressionPtr Clone(ExpressionPtr& node); + inline StatementPtr Clone(StatementPtr& node); } #include diff --git a/include/Nazara/Shader/ShaderAstCloner.inl b/include/Nazara/Shader/ShaderAstCloner.inl index 1182f110d..20a829343 100644 --- a/include/Nazara/Shader/ShaderAstCloner.inl +++ b/include/Nazara/Shader/ShaderAstCloner.inl @@ -5,8 +5,19 @@ #include #include -namespace Nz +namespace Nz::ShaderAst { + inline ExpressionPtr Clone(ExpressionPtr& node) + { + AstCloner cloner; + return cloner.Clone(node); + } + + inline StatementPtr Clone(StatementPtr& node) + { + AstCloner cloner; + return cloner.Clone(node); + } } #include