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 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 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 |
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 void Clear()
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
Object | obj |
Returns
Type | Description |
---|---|
Boolean |
Overrides
Equals(ActionSegment<T>)
Declaration
public bool Equals(ActionSegment<T> other)
Parameters
Type | Name | Description |
---|---|---|
ActionSegment<T> | other |
Returns
Type | Description |
---|---|
Boolean |
Implements
GetEnumerator()
Declaration
public IEnumerator GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator |
Implements
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
Int32 |
Overrides
IsEmpty()
Check if the segment is empty.
Declaration
public bool IsEmpty()
Returns
Type | Description |
---|---|
Boolean | Whether or not the segment is empty. |
Explicit Interface Implementations
IEnumerable<T>.GetEnumerator()
Declaration
IEnumerator<T> IEnumerable<T>.GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<T> |