Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EnqueueRange() [1/2]

void System.Collections.Generic.PriorityQueue< TElement, TPriority >.EnqueueRange ( IEnumerable< TElement > elements,
TPriority priority )
inline

Definition at line 332 of file PriorityQueue.cs.

333 {
334 if (elements == null)
335 {
336 throw new ArgumentNullException("elements");
337 }
338 if (elements is ICollection<(TElement, TPriority)> { Count: var count })
339 {
340 int num = count;
341 if (count > _nodes.Length - _size)
342 {
343 Grow(_size + num);
344 }
345 }
346 if (_size == 0)
347 {
348 int num2 = 0;
349 (TElement, TPriority)[] nodes = _nodes;
350 foreach (TElement element in elements)
351 {
352 if (nodes.Length == num2)
353 {
354 Grow(num2 + 1);
355 nodes = _nodes;
356 }
357 nodes[num2++] = (element, priority);
358 }
359 _size = num2;
360 _version++;
361 if (num2 > 1)
362 {
363 Heapify();
364 }
365 return;
366 }
367 foreach (TElement element2 in elements)
368 {
369 Enqueue(element2, priority);
370 }
371 }
void Enqueue(TElement element, TPriority priority)
TElement TPriority Priority[] _nodes

References System.Collections.Generic.PriorityQueue< TElement, TPriority >._nodes, System.Collections.Generic.PriorityQueue< TElement, TPriority >._size, System.Collections.Generic.PriorityQueue< TElement, TPriority >._version, System.Collections.Generic.PriorityQueue< TElement, TPriority >.Count, System.count, System.Collections.Generic.PriorityQueue< TElement, TPriority >.Enqueue(), System.Collections.Generic.PriorityQueue< TElement, TPriority >.Grow(), and System.Collections.Generic.PriorityQueue< TElement, TPriority >.Heapify().