docs.unity3d.com
    Show / Hide Table of Contents

    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
    ValueType.ToString()
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    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
    ValueType.Equals(Object)

    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
    IEquatable<T>.Equals(T)

    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
    IEnumerable.GetEnumerator()

    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
    ValueType.GetHashCode()

    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.

    Implements
    IEnumerable<T>.GetEnumerator()
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023