Struct ReadOnlyAreaPositionsEnumerator
A custom enumerator used to iterate over all positions within an area with a foreach loop efficiently.
Inherited Members
Namespace: SadRogue.Primitives
Assembly: TheSadRogue.Primitives.dll
Syntax
public struct ReadOnlyAreaPositionsEnumerator : IEnumerator<Point>, IEnumerator, IDisposable, IEnumerable<Point>, IEnumerable
Remarks
This type is a struct, and will either use an indexer-based enumeration method, or a standard IEnumerator, depending on the area's UseIndexEnumeration value. Therefore, it will provide the quickest way of iterating over positions in an area with a for-each loop.
If you have a value of a concrete type rather than an interface, and the GetEnumerator implementation for that given type is particularly fast or a non-boxed type (like Area, you will probably get faster performance out of that than by using this; however this will provide better performance if you are working with an interface and thus don't know the type of area. Use cases for this class are generally for iteration via IReadOnlyArea.
Constructors
View SourceReadOnlyAreaPositionsEnumerator(IReadOnlyArea)
Creates an enumerator which iterates over all positions in the given area.
Declaration
public ReadOnlyAreaPositionsEnumerator(IReadOnlyArea area)
Parameters
| Type | Name | Description |
|---|---|---|
| IReadOnlyArea | area | A read-only area containing the positions to iterate over. |
Properties
View SourceCurrent
The current value for enumeration.
Declaration
public Point Current { get; }
Property Value
| Type | Description |
|---|---|
| Point |
Methods
View SourceGetEnumerator()
Returns this enumerator.
Declaration
public ReadOnlyAreaPositionsEnumerator GetEnumerator()
Returns
| Type | Description |
|---|---|
| ReadOnlyAreaPositionsEnumerator | This enumerator. |
MoveNext()
Advances the iterator to the next position.
Declaration
public bool MoveNext()
Returns
| Type | Description |
|---|---|
| bool | True if the a position within the area was found; false otherwise. |