From a71d4885f9bfbe1c155e02e2f8a7155f61569a0d Mon Sep 17 00:00:00 2001 From: SirLynix Date: Sat, 21 Jan 2023 16:17:38 +0100 Subject: [PATCH] Core/Application: Accept module configuration --- include/Nazara/Core/Application.hpp | 4 +++- include/Nazara/Core/Application.inl | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/include/Nazara/Core/Application.hpp b/include/Nazara/Core/Application.hpp index ffc81e50c..d5149421b 100644 --- a/include/Nazara/Core/Application.hpp +++ b/include/Nazara/Core/Application.hpp @@ -17,7 +17,9 @@ namespace Nz class Application : public ApplicationBase { public: - using ApplicationBase::ApplicationBase; + template Application(ModuleConfig&&... configs); + template Application(int argc, char** argv, ModuleConfig&&... configs); + template Application(int argc, const Pointer* argv, ModuleConfig&&... configs); Application(const Application&) = delete; Application(Application&&) = delete; ~Application(); diff --git a/include/Nazara/Core/Application.inl b/include/Nazara/Core/Application.inl index c51f72639..935d48eee 100644 --- a/include/Nazara/Core/Application.inl +++ b/include/Nazara/Core/Application.inl @@ -7,6 +7,29 @@ namespace Nz { + template + template + Application::Application(ModuleConfig&&... configs) : + m_modules(std::forward(configs)...) + { + } + + template + template + Application::Application(int argc, char** argv, ModuleConfig&&... configs) : + ApplicationBase(argc, argv), + m_modules(std::forward(configs)...) + { + } + + template + template + Application::Application(int argc, const Pointer* argv, ModuleConfig&&... configs) : + ApplicationBase(argc, argv), + m_modules(std::forward(configs)...) + { + } + template Application::~Application() {