Merge branch 'v0.20.x'
This commit is contained in:
@@ -359,8 +359,20 @@ Queue::ShuffleOrderFirst(unsigned start, unsigned end) noexcept
|
||||
}
|
||||
|
||||
void
|
||||
Queue::ShuffleOrderLast(unsigned start, unsigned end) noexcept
|
||||
Queue::ShuffleOrderLastWithPriority(unsigned start, unsigned end) noexcept
|
||||
{
|
||||
assert(end <= length);
|
||||
assert(start < end);
|
||||
|
||||
/* skip all items at the start which have a higher priority,
|
||||
because the last item shall only be shuffled within its
|
||||
priority group */
|
||||
const auto last_priority = items[OrderToPosition(end - 1)].priority;
|
||||
while (items[OrderToPosition(start)].priority != last_priority) {
|
||||
++start;
|
||||
assert(start < end);
|
||||
}
|
||||
|
||||
rand.AutoCreate();
|
||||
|
||||
std::uniform_int_distribution<unsigned> distribution(start, end - 1);
|
||||
|
||||
Reference in New Issue
Block a user