[ox/std] Fix Vector copy constructor not to move items

This commit is contained in:
Gary Talent 2021-06-04 23:37:47 -05:00
parent db3c2602fd
commit 33775f59ff
2 changed files with 10 additions and 5 deletions

View File

@ -82,19 +82,24 @@ struct DescriptorField {
~DescriptorField();
const DescriptorField &operator=(DescriptorField &&other) noexcept {
const DescriptorField &operator=(const DescriptorField &other) noexcept {
type = other.type;
fieldName = other.fieldName;
subscriptLevels = other.subscriptLevels;
typeName = other.typeName;
ownsType = other.ownsType;
return *this;
}
const DescriptorField &operator=(DescriptorField &&other) noexcept {
type = move(other.type);
other.type = {};
other.fieldName = "";
fieldName = move(other.fieldName);
subscriptLevels = move(other.subscriptLevels);
other.subscriptLevels = {};
other.typeName = "";
typeName = move(other.typeName);
ownsType = move(other.ownsType);
other.ownsType = {};
return *this;
}

View File

@ -301,7 +301,7 @@ Vector<T, SmallVectorSize>::Vector(const Vector &other) {
m_cap = other.m_cap;
this->initItems(&m_items, other.m_cap);
for (std::size_t i = 0; i < m_size; ++i) {
m_items[i] = move(other.m_items[i]);
m_items[i] = other.m_items[i];
}
}