@@ -39,21 +39,39 @@ public:
* Copy constructor.
* @param other The other vector to copy.
*/
SmallVector(const SmallVector &other) : data(NULL), items(0), capacity(0)
{
this->Assign(other);
}
/**
* Generic copy constructor.
template <uint X>
SmallVector(const SmallVector<T, X> &other) : data(NULL), items(0), capacity(0)
MemCpyT<T>(this->Append(other.Length()), other.Begin(), other.Length());
* Assignment.
* @param other The new vector that.
* @param other The other vector to assign.
SmallVector &operator=(const SmallVector &other)
return *this;
* Generic assignment.
SmallVector &operator=(const SmallVector<T, X> &other)
this->Reset();
@@ -63,6 +81,18 @@ public:
* Assign items from other vector.
inline void Assign(const SmallVector<T, X> &other)
if ((const void *)&other == (void *)this) return;
this->Clear();
if (other.Length() > 0) MemCpyT<T>(this->Append(other.Length()), other.Begin(), other.Length());
* Remove all items from the list.
inline void Clear()
Status change: