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.
Namespace: Unity.MLAgents.Actuators
Syntax
public struct ActionSegment<T> : IEnumerable<T>, 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 T[] Array { get; }
Property Value
Type | Description |
---|---|
T[] |
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
Type | Description |
---|---|
T |
Methods
Clear()
Sets the segment of the backing array to all zeros.
Declaration
public void Clear()
Equals(Object)
Indicates whether the current ActionSegment is equal to another ActionSegment.
Declaration
public override 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. |
Equals(ActionSegment<T>)
Indicates whether the current ActionSegment is equal to another ActionSegment.
Declaration
public 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. |
GetEnumerator()
Returns an enumerator that iterates through the ActionSegment.
Declaration
public IEnumerator GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator | An IEnumerator object that can be used to iterate through the ActionSegment. |
GetHashCode()
Computes the hash code of the ActionSegment.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 | A hash code for the current ActionSegment. |
IsEmpty()
Check if the segment is empty.
Declaration
public bool IsEmpty()
Returns
Type | Description |
---|---|
Boolean | Whether or not the segment is empty. |