pub fn fromOwnedSlice(items: []T, context: Context) Self items: []Tcontext: Context330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346 pub fn fromOwnedSlice(items: []T, context: Context) Self {
var queue = Self{
.items = items,
.len = items.len,
.context = context,
};
if (queue.len <= 1) return queue;
const half = (queue.len >> 1) - 1;
var i: usize = 0;
while (i <= half) : (i += 1) {
const index = half - i;
queue.siftDown(index);
}
return queue;
}
Dequeue takes ownership of the passed in slice. The slice must be de-initialize with
deinit.