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

◆ TryDequeue()

bool System.Collections.Concurrent.SingleProducerSingleConsumerQueue< T >.TryDequeue ( [MaybeNullWhen(false)] out T result)
inline

Definition at line 151 of file SingleProducerSingleConsumerQueue.cs.

152 {
153 Segment head = _head;
154 T[] array = head._array;
155 int first = head._state._first;
156 if (first != head._state._lastCopy)
157 {
158 result = array[first];
159 array[first] = default(T);
160 head._state._first = (first + 1) & (array.Length - 1);
161 return true;
162 }
163 return TryDequeueSlow(head, array, peek: false, out result);
164 }
bool TryDequeueSlow(Segment segment, T[] array, bool peek, [MaybeNullWhen(false)] out T result)

References System.Collections.Concurrent.SingleProducerSingleConsumerQueue< T >.Segment._array, System.Collections.Concurrent.SingleProducerSingleConsumerQueue< T >.SegmentState._first, System.Collections.Concurrent.SingleProducerSingleConsumerQueue< T >._head, System.Collections.Concurrent.SingleProducerSingleConsumerQueue< T >.SegmentState._lastCopy, System.Collections.Concurrent.SingleProducerSingleConsumerQueue< T >.Segment._state, System.array, and System.Collections.Concurrent.SingleProducerSingleConsumerQueue< T >.TryDequeueSlow().

Referenced by System.Collections.Concurrent.SingleProducerSingleConsumerQueue< T >.TryDequeueSlow().