AK: Remove specialized shuffle for NonnullPtrVector

This commit is contained in:
Andreas Kling 2023-03-06 17:59:07 +01:00
parent 7369d0ab5f
commit d57b09b7cf
Notes: sideshowbarker 2024-07-17 06:40:21 +09:00

View file

@ -63,19 +63,6 @@ inline void shuffle(Collection& collection)
} }
} }
// shuffle() implementation for NonnullPtrVector, since its operator[] returns a reference to the pointed-at value
// instead of the pointer itself.
template<typename Collection>
requires(requires(Collection collection) { collection.ptr_at(0); })
inline void shuffle(Collection& collection)
{
// Fisher-Yates shuffle
for (size_t i = collection.size() - 1; i >= 1; --i) {
size_t j = get_random_uniform(i + 1);
AK::swap(collection.ptr_at(i), collection.ptr_at(j));
}
}
} }
#if USING_AK_GLOBALLY #if USING_AK_GLOBALLY