|
|
|
@ -391,7 +391,7 @@ struct hb_vector_t |
|
|
|
|
return v; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void remove (unsigned int i) |
|
|
|
|
void remove_ordered (unsigned int i) |
|
|
|
|
{ |
|
|
|
|
if (unlikely (i >= length)) |
|
|
|
|
return; |
|
|
|
@ -400,6 +400,18 @@ struct hb_vector_t |
|
|
|
|
length--; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <bool Sorted = sorted, |
|
|
|
|
hb_enable_if (!Sorted)> |
|
|
|
|
void remove_unordered (unsigned int i) |
|
|
|
|
{ |
|
|
|
|
if (unlikely (i >= length)) |
|
|
|
|
return; |
|
|
|
|
if (i != length - 1) |
|
|
|
|
arrayZ[i] = std::move (arrayZ[length - 1]); |
|
|
|
|
arrayZ[length - 1].~Type (); |
|
|
|
|
length--; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void shrink (int size_) |
|
|
|
|
{ |
|
|
|
|
unsigned int size = size_ < 0 ? 0u : (unsigned int) size_; |
|
|
|
|