diff --git a/src/common/utility/tarray.h b/src/common/utility/tarray.h index ac9d8beb1..3a6bd76e9 100644 --- a/src/common/utility/tarray.h +++ b/src/common/utility/tarray.h @@ -231,6 +231,29 @@ public: ConstructEmpty(0, Count - 1); } } + + TArray (std::initializer_list list) + { + Most = list.size; + Count = list.size; + + if (Count > 0) + { + Array = (T *)M_Malloc (sizeof(T) * Count); + + const T* it = list.begin(); + + for (unsigned int i = 0; i < Count; ++i) + { + ::new(&Array[i]) T(*it++); + } + } + else + { + Array = nullptr; + } + } + TArray (const TArray &other) { DoCopy (other);