From 4891ebaf7b874d234890885890825dc3c229513a Mon Sep 17 00:00:00 2001 From: knox Date: Fri, 29 Mar 2024 16:43:16 +0100 Subject: [PATCH 1/4] forward args to make_shared/unique --- crates/cxx-qt-lib-headers/include/common.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/cxx-qt-lib-headers/include/common.h b/crates/cxx-qt-lib-headers/include/common.h index 2bd0c463a..5c4f9561f 100644 --- a/crates/cxx-qt-lib-headers/include/common.h +++ b/crates/cxx-qt-lib-headers/include/common.h @@ -91,16 +91,16 @@ operatorDiv(const S scalar, const T& t) template std::unique_ptr -make_unique(Args... args) +make_unique(Args&&... args) { - return std::make_unique(args...); + return std::make_unique(std::forward(args)...); } template std::shared_ptr -make_shared(Args... args) +make_shared(Args&&... args) { - return std::make_shared(args...); + return std::make_shared(std::forward(args)...); } } // namespace cxxqtlib1 From 47ca1df911155302cd8b2bbafa0caa6e7ba13103 Mon Sep 17 00:00:00 2001 From: knox Date: Fri, 29 Mar 2024 16:44:05 +0100 Subject: [PATCH 2/4] add new_ptr template --- crates/cxx-qt-lib-headers/include/common.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crates/cxx-qt-lib-headers/include/common.h b/crates/cxx-qt-lib-headers/include/common.h index 5c4f9561f..bd56ba58c 100644 --- a/crates/cxx-qt-lib-headers/include/common.h +++ b/crates/cxx-qt-lib-headers/include/common.h @@ -103,5 +103,12 @@ make_shared(Args&&... args) return std::make_shared(std::forward(args)...); } +template +T* +new_ptr(Args&&... args) +{ + return new T(std::forward(args)...) +} + } // namespace cxxqtlib1 } // namespace rust From ba4dd2d74bc6a630558ec328c2e13a5f7949507f Mon Sep 17 00:00:00 2001 From: knox Date: Wed, 3 Apr 2024 17:37:41 +0200 Subject: [PATCH 3/4] removed universal reference --- crates/cxx-qt-lib-headers/include/common.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/cxx-qt-lib-headers/include/common.h b/crates/cxx-qt-lib-headers/include/common.h index bd56ba58c..069403a27 100644 --- a/crates/cxx-qt-lib-headers/include/common.h +++ b/crates/cxx-qt-lib-headers/include/common.h @@ -91,23 +91,23 @@ operatorDiv(const S scalar, const T& t) template std::unique_ptr -make_unique(Args&&... args) +make_unique(Args... args) { return std::make_unique(std::forward(args)...); } template std::shared_ptr -make_shared(Args&&... args) +make_shared(Args... args) { return std::make_shared(std::forward(args)...); } template T* -new_ptr(Args&&... args) +new_ptr(Args... args) { - return new T(std::forward(args)...) + return new T(std::forward(args)...); } } // namespace cxxqtlib1 From c820c8c95bd3fe714eff7eab24dea16a3104b9e0 Mon Sep 17 00:00:00 2001 From: knox Date: Wed, 3 Apr 2024 17:47:56 +0200 Subject: [PATCH 4/4] clang format compliance --- crates/cxx-qt-lib-headers/include/common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/cxx-qt-lib-headers/include/common.h b/crates/cxx-qt-lib-headers/include/common.h index 069403a27..0ea8f1fed 100644 --- a/crates/cxx-qt-lib-headers/include/common.h +++ b/crates/cxx-qt-lib-headers/include/common.h @@ -107,7 +107,7 @@ template T* new_ptr(Args... args) { - return new T(std::forward(args)...); + return new T(std::forward(args)...); } } // namespace cxxqtlib1