Struct ActionSegment<T>
ActionSegment{T} is a data structure that allows access to a segment of an underlying array
in order to avoid the copying and allocation of sub-arrays. The segment is defined by
the offset into the original array, and an length.
Syntax
public struct ActionSegment<T> : IEnumerable<T>, IEnumerable, IEquatable<ActionSegment<T>> where T : struct
Type Parameters
Name |
Description |
T |
The type of object stored in the underlying Array
|
Constructors
ActionSegment(T[])
Declaration
public ActionSegment(T[] actionArray)
Parameters
Type |
Name |
Description |
T[] |
actionArray |
The action array to use for the this segment.
|
ActionSegment(T[], Int32, Int32)
Construct an ActionSegment<T> with an underlying array
and offset, and a length.
Declaration
public ActionSegment(T[] actionArray, int offset, int length)
Parameters
Type |
Name |
Description |
T[] |
actionArray |
The underlying array which this segment has a view into
|
Int32 |
offset |
The zero-based offset into the underlying array.
|
Int32 |
length |
The length of the segment.
|
Fields
Empty
An Empty segment which has an offset of 0, a Length of 0, and it's underlying array
is also empty.
Declaration
public static ActionSegment<T> Empty
Field Value
Length
The number of items this segment can access in the underlying array.
Declaration
public readonly int Length
Field Value
Offset
The zero-based offset into the original array at which this segment starts.
Declaration
public readonly int Offset
Field Value
Properties
Array
Get the underlying Array of this segment.
Declaration
public T[] Array { get; }
Property Value
Item[Int32]
Allows access to the underlying array using array syntax.
Declaration
public T this[int index] { get; set; }
Parameters
Type |
Name |
Description |
Int32 |
index |
The zero-based index of the segment.
|
Property Value
Exceptions
Methods
Clear()
Sets the segment of the backing array to all zeros.
Declaration
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
|
Returns
Overrides
Equals(ActionSegment<T>)
Declaration
public bool Equals(ActionSegment<T> other)
Parameters
Returns
Implements
GetEnumerator()
Declaration
public IEnumerator GetEnumerator()
Returns
Implements
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Overrides
Explicit Interface Implementations
IEnumerable<T>.GetEnumerator()
Declaration
IEnumerator<T> IEnumerable<T>.GetEnumerator()
Returns
Implements