ConcurrentCircularBuffer<T>.Enumerator Struct
Definition
- Namespace
- Bodu.Collections.Generic.Concurrent
- Assembly
- Bodu.Collections.Concurrent.dll
- Package
- Bodu.Collections.Concurrent 1.0.0
Provides a snapshot-based enumerator for ConcurrentCircularBuffer<T> that iterates over a stable point-in-time copy of the buffer's contents.
public struct ConcurrentCircularBuffer<T>.Enumerator : IEnumerator<T>, IEnumerator, IDisposable
- Implements
-
IEnumerator<T>
- Inherited Members
- Extension Methods
Remarks
The enumerator captures a snapshot of the buffer's elements at the time of construction by calling ToArray(). All subsequent iteration operates over this static copy and is unaffected by concurrent enqueue, dequeue, or eviction operations on the originating buffer.
Because the snapshot is taken eagerly, creating the enumerator allocates a backing array proportional to the number of elements present at that moment. This is the same allocation that a direct call to ToArray() would produce.
Properties
Current
Gets the element in the collection at the current position of the enumerator.
public readonly T Current { get; }
Property Value
- T
The element in the collection at the current position of the enumerator.
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public readonly void Dispose()
MoveNext()
Advances the enumerator to the next element of the collection.
public bool MoveNext()
Returns
- bool
true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
Exceptions
- InvalidOperationException
The collection was modified after the enumerator was created.
Reset()
Sets the enumerator to its initial position, which is before the first element in the collection.
public void Reset()
Exceptions
- InvalidOperationException
The collection was modified after the enumerator was created.
- NotSupportedException
The enumerator does not support being reset.
Explicit Interface Implementations
IEnumerator.Current
Gets the element in the collection at the current position of the enumerator.
readonly object IEnumerator.Current { get; }
Returns
- object
The element in the collection at the current position of the enumerator.
Applies to
| Product | Versions |
|---|---|
| .NET | 8, 10 |