21 lines
1.1 KiB
Diff
21 lines
1.1 KiB
Diff
diff --git a/dep/g3dlite/include/G3D/Array.h b/dep/g3dlite/include/G3D/Array.h
|
|
index c562f5c920f7..c86b20fd7e97 100644
|
|
--- a/dep/g3dlite/include/G3D/Array.h
|
|
+++ b/dep/g3dlite/include/G3D/Array.h
|
|
@@ -346,6 +346,7 @@ class Array {
|
|
|
|
/** Resizes this to match the size of \a other and then copies the data from other using memcpy. This is only safe for POD types */
|
|
void copyPOD(const Array<T>& other) {
|
|
+ static_assert(std::is_standard_layout_v<T> && std::is_trivial_v<T>, "copyPOD called on non-POD type");
|
|
if (numAllocated < other.num) {
|
|
m_memoryManager->free(data);
|
|
data = NULL;
|
|
@@ -364,6 +365,7 @@ class Array {
|
|
/** Resizes this to just barely match the size of \a other + itself and then copies the data to the end of the array from other using memcpy.
|
|
This is only safe for POD types */
|
|
void appendPOD(const Array<T>& other) {
|
|
+ static_assert(std::is_standard_layout_v<T> && std::is_trivial_v<T>, "appendPOD called on non-POD type");
|
|
const size_t oldSize = num;
|
|
num += other.num;
|
|
if (numAllocated < num) {
|