From 2d61c617c59a372b9fa3d99b85fc6f1c7e4f0510 Mon Sep 17 00:00:00 2001 From: Jaby Blubb Date: Mon, 25 Sep 2023 20:35:47 +0200 Subject: [PATCH] Remove constructor linked elements --- include/PSX/GPU/Primitives/linked_elements.hpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/include/PSX/GPU/Primitives/linked_elements.hpp b/include/PSX/GPU/Primitives/linked_elements.hpp index 75f0e222..e9cd18f4 100644 --- a/include/PSX/GPU/Primitives/linked_elements.hpp +++ b/include/PSX/GPU/Primitives/linked_elements.hpp @@ -16,10 +16,6 @@ namespace JabyEngine { uint32_t link_value; - constexpr Link() = default; - constexpr Link(size_t size) : link_value(default_link_value(size)) { - } - constexpr void set_link_identitiy(size_t size) { this->link_value = default_link_value(size); } @@ -61,9 +57,12 @@ namespace JabyEngine { struct LinkedElement : public Link { T element; - constexpr LinkedElement() = default; + static constexpr LinkedElement create(const T& element) { + LinkedElement new_element; - constexpr LinkedElement(const T& element) : Link(sizeof(T)), element(element) { + new_element.element = element; + new_element.set_link_identitiy(); + return new_element; } constexpr void set_link_identitiy() { @@ -85,7 +84,7 @@ namespace JabyEngine { typedef LinkedElement Linked; constexpr LinkedElement linked() { - return LinkedElement(*static_cast(this)); + return LinkedElement::create(*static_cast(this)); } }; }