From bbd5fe6aedfd9288f3fd64754c700bfe9066b134 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Thu, 21 Dec 2023 15:57:06 -0500 Subject: check assignable in DynArray --- src/dynamic-array.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/dynamic-array.hpp b/src/dynamic-array.hpp index bcc0d43..307983d 100644 --- a/src/dynamic-array.hpp +++ b/src/dynamic-array.hpp @@ -163,7 +163,11 @@ template inline void DynArray::Push(const T &val) { } auto itemPtr = this->ptr + (sizeof(T) * this->elementCount); auto &targetItem = *reinterpret_cast(itemPtr); - targetItem = val; + if constexpr (std::is_assignable::value) { + targetItem = val; + } else { + memcpy(targetItem, val, sizeof(T)); + } this->elementCount += 1; } -- cgit v1.2.3