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.
Inherited Members
Namespace: Unity.MLAgents.Actuators
Syntax
public readonly 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[])
Construct an ActionSegment<T> with just an actionArray. The Offset will
be set to 0 and the Length will be set to actionArray.Length
.
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
Type | Description |
---|---|
ActionSegment<T> |
Length
The number of items this segment can access in the underlying array.
Declaration
public readonly int Length
Field Value
Type | Description |
---|---|
Int32 |
Offset
The zero-based offset into the original array at which this segment starts.
Declaration
public readonly int Offset
Field Value
Type | Description |
---|---|
Int32 |
Properties
Array
Get the underlying Array of this segment.
Declaration
public readonly T[] Array { get; }
Property Value
Type | Description |
---|---|
T[] |
Item[Int32]
Allows access to the underlying array using array syntax.
Declaration
public readonly T this[int index] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | The zero-based index of the segment. |
Property Value
Type | Description |
---|---|
T |
Exceptions
Type | Condition |
---|---|
IndexOutOfRangeException | Thrown when the index is less than 0 or greater than or equal to Length |
Methods
Clear()
Sets the segment of the backing array to all zeros.
Declaration
public readonly void Clear()
Equals(Object)
Indicates whether the current ActionSegment is equal to another ActionSegment.
Declaration
public override readonly bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj | An ActionSegment to compare with this ActionSegment. |
Returns
Type | Description |
---|---|
Boolean | true if the current ActionSegment is equal to the other parameter; otherwise, false. |
Overrides
Equals(ActionSegment<T>)
Indicates whether the current ActionSegment is equal to another ActionSegment.
Declaration
public readonly bool Equals(ActionSegment<T> other)
Parameters
Type | Name | Description |
---|---|---|
ActionSegment<T> | other | An ActionSegment to compare with this ActionSegment. |
Returns
Type | Description |
---|---|
Boolean | true if the current ActionSegment is equal to the other parameter; otherwise, false. |
Implements
GetEnumerator()
Returns an enumerator that iterates through the ActionSegment.
Declaration
public readonly IEnumerator GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator | An IEnumerator object that can be used to iterate through the ActionSegment. |
Implements
GetHashCode()
Computes the hash code of the ActionSegment.
Declaration
public override readonly int GetHashCode()
Returns
Type | Description |
---|---|
Int32 | A hash code for the current ActionSegment. |
Overrides
IsEmpty()
Check if the segment is empty.
Declaration
public readonly bool IsEmpty()
Returns
Type | Description |
---|---|
Boolean | Whether or not the segment is empty. |
Explicit Interface Implementations
IEnumerable<T>.GetEnumerator()
Returns an enumerator that iterates through the ActionSegment.
Declaration
readonly IEnumerator<T> IEnumerable<T>.GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<T> | An IEnumerator object that can be used to iterate through the ActionSegment. |