SemPtr SemPtr
SemPtr SemPtr
Documentation generated with DocFX
Using SingulinkFX as the template

Search Results for

    Struct PersistentSequencePointer<T>

    Represents a non-nullable persistent pointer pointing to a contiguous sequence of targets of type T.

    Implements
    IComparable
    IComparable<PersistentSequencePointer<T>>
    IComparable<NullablePointerReadOnly>
    IComparable<NullablePointerUninitialized>
    IComparisonOperators<PersistentSequencePointer<T>, PersistentSequencePointer<T>, bool>
    ISpanFormattable
    IFormattable
    IUtf8SpanFormattable
    IEquatable<PersistentSequencePointer<T>>
    IEquatable<NullablePointerReadOnly>
    IEquatable<NullablePointerUninitialized>
    IEquatable<NullableFunctionPointer>
    IEqualityOperators<PersistentSequencePointer<T>, PersistentSequencePointer<T>, bool>
    ITypedPointer<T, PersistentSequencePointer<T>>
    ITypedPointer<T>
    IPointer<PersistentSequencePointer<T>>
    IPointer
    IIncrementOperators<PersistentSequencePointer<T>>
    IDecrementOperators<PersistentSequencePointer<T>>
    IAdditionOperators<PersistentSequencePointer<T>, nint, PersistentSequencePointer<T>>
    IAdditionOperators<PersistentSequencePointer<T>, nuint, PersistentSequencePointer<T>>
    ISubtractionOperators<PersistentSequencePointer<T>, nint, PersistentSequencePointer<T>>
    ISubtractionOperators<PersistentSequencePointer<T>, nuint, PersistentSequencePointer<T>>
    ISubtractionOperators<PersistentSequencePointer<T>, PersistentSequencePointer<T>, nint>
    Inherited Members
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: SemPtr
    Assembly: SemPtr.dll
    Syntax
    public readonly struct PersistentSequencePointer<T> : IComparable, IComparable<PersistentSequencePointer<T>>, IComparable<NullablePointerReadOnly>, IComparable<NullablePointerUninitialized>, IComparisonOperators<PersistentSequencePointer<T>, PersistentSequencePointer<T>, bool>, ISpanFormattable, IFormattable, IUtf8SpanFormattable, IEquatable<PersistentSequencePointer<T>>, IEquatable<NullablePointerReadOnly>, IEquatable<NullablePointerUninitialized>, IEquatable<NullableFunctionPointer>, IEqualityOperators<PersistentSequencePointer<T>, PersistentSequencePointer<T>, bool>, ITypedPointer<T, PersistentSequencePointer<T>>, ITypedPointer<T>, IPointer<PersistentSequencePointer<T>>, IPointer, IIncrementOperators<PersistentSequencePointer<T>>, IDecrementOperators<PersistentSequencePointer<T>>, IAdditionOperators<PersistentSequencePointer<T>, nint, PersistentSequencePointer<T>>, IAdditionOperators<PersistentSequencePointer<T>, nuint, PersistentSequencePointer<T>>, ISubtractionOperators<PersistentSequencePointer<T>, nint, PersistentSequencePointer<T>>, ISubtractionOperators<PersistentSequencePointer<T>, nuint, PersistentSequencePointer<T>>, ISubtractionOperators<PersistentSequencePointer<T>, PersistentSequencePointer<T>, nint> where T : unmanaged
    Type Parameters
    Name Description
    T

    The type of the target that the pointer points to.

    Remarks

    PersistentSequencePointer<T> has the following characteristics:

    • Non-nullableYou can access the pointer's target directly without checking for null.
    • PersistentThe pointer's target outlives the pointer's initial scope. You can let the pointer escape the current scope and store it for later access. No guarantees are made about how long the target will remain valid or who owns it.
    • Contiguous sequenceThe pointer points to a contiguous sequence of targets. You can access the pointer's target objects individually via indexing. You can perform pointer arithmetic with the pointer.
    • Read-writeYou can read and write the pointer's target.
    • TypedThe pointer points to a contiguous sequence of targets of type T.

    You should never create instances of PersistentSequencePointer<T> using its parameterless constructors or default(PersistentSequencePointer<T>). Doing so will result in undefined behavior. Always use the FromRaw(T*), FromIntPtr(nint), or FromUIntPtr(nuint) methods to create instances of PersistentSequencePointer<T> pointers.

    Constructors

    Name Description
    PersistentSequencePointer()

    Do not use. Do not create instances of non-nullable pointers using parameterless constructors or default values.

    Properties

    Name Description
    AsIntPtr

    Gets an nint that represents the same memory address as the current pointer.

    AsUIntPtr

    Gets an nuint that represents the same memory address as the current pointer.

    HasTarget

    Gets a value indicating whether the current pointer is non-null.

    this[nint]

    Gets a reference to the target value at the specified index in the sequence the current pointer is pointing to.

    this[nuint]

    Gets a reference to the target value at the specified index in the sequence the current pointer is pointing to.

    Raw

    Gets a raw pointer pointing to the same target as the current pointer.

    Target

    Gets a reference to the target value the current pointer is pointing to.

    Methods

    Name Description
    AsSpan(int)

    Gets a Span<T> that represents a contiguous sequence of values of type T the current pointer is pointing to, having the specified length.

    AsSpan(nint, int)

    Gets a Span<T> that represents a contiguous sequence of values of type T the current pointer is pointing to, starting at the specified start index and having the specified length.

    AsSpan(nuint, int)

    Gets a Span<T> that represents a contiguous sequence of values of type T the current pointer is pointing to, starting at the specified start index and having the specified length.

    CompareTo(NullablePointerReadOnly)

    Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.

    CompareTo(NullablePointerUninitialized)

    Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.

    CompareTo(PersistentSequencePointer<T>)

    Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.

    CompareTo(object?)

    Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.

    Equals(NullableFunctionPointer)

    Indicates whether the current object is equal to another object of the same type.

    Equals(NullablePointerReadOnly)

    Indicates whether the current object is equal to another object of the same type.

    Equals(NullablePointerUninitialized)

    Indicates whether the current object is equal to another object of the same type.

    Equals(PersistentSequencePointer<T>)

    Indicates whether the current object is equal to another object of the same type.

    Equals(object?)

    Indicates whether this instance and a specified object are equal.

    FromIntPtr(nint)

    Creates a PersistentSequencePointer<T> from a memory address given as a nint.

    FromRaw(T*)

    Creates a PersistentSequencePointer<T> from a raw pointer.

    FromUIntPtr(nuint)

    Creates a PersistentSequencePointer<T> from a memory address given as a nint.

    GetHashCode()

    Returns the hash code for this instance.

    ToString()

    Formats the value of the current instance using the default format.

    ToString(IFormatProvider?)

    Formats the value of the current instance using the specified format.

    ToString(string?)

    Formats the value of the current instance using the specified format.

    ToString(string?, IFormatProvider?)

    Formats the value of the current instance using the specified format.

    TryFormat(Span<byte>, out int, IFormatProvider?)

    Tries to format the value of the current instance as UTF-8 into the provided span of bytes.

    TryFormat(Span<byte>, out int, ReadOnlySpan<char>, IFormatProvider?)

    Tries to format the value of the current instance as UTF-8 into the provided span of bytes.

    TryFormat(Span<char>, out int, IFormatProvider?)

    Tries to format the value of the current instance into the provided span of characters.

    TryFormat(Span<char>, out int, ReadOnlySpan<char>, IFormatProvider?)

    Tries to format the value of the current instance into the provided span of characters.

    Operators

    Name Description
    operator +(PersistentSequencePointer<T>, nint)

    Adds two values together to compute their sum.

    operator +(PersistentSequencePointer<T>, nuint)

    Adds two values together to compute their sum.

    operator +(nint, PersistentSequencePointer<T>)

    Adds two values together to compute their sum.

    operator +(nuint, PersistentSequencePointer<T>)

    Adds two values together to compute their sum.

    operator checked -(NullablePointerReadOnly<T>, PersistentSequencePointer<T>)

    Subtracts two values to compute their difference.

    operator checked -(NullablePointerUninitialized<T>, PersistentSequencePointer<T>)

    Subtracts two values to compute their difference.

    operator checked -(PersistentSequencePointer<T>, NullablePointerReadOnly<T>)

    Subtracts two values to compute their difference.

    operator checked -(PersistentSequencePointer<T>, NullablePointerUninitialized<T>)

    Subtracts two values to compute their difference.

    operator checked -(PersistentSequencePointer<T>, PersistentSequencePointer<T>)

    Subtracts two values to compute their difference.

    operator --(PersistentSequencePointer<T>)

    Decrements a value.

    operator ==(PersistentSequencePointer<T>, NullableFunctionPointer)

    Compares two values to determine equality.

    operator ==(PersistentSequencePointer<T>, NullablePointerReadOnly)

    Compares two values to determine equality.

    operator ==(PersistentSequencePointer<T>, NullablePointerUninitialized)

    Compares two values to determine equality.

    operator ==(PersistentSequencePointer<T>, PersistentSequencePointer<T>)

    Compares two values to determine equality.

    explicit operator PersistentSequencePointer<T>(PersistentSequencePointer)

    Converts a PersistentSequencePointer to a PersistentSequencePointer<T>.

    explicit operator FunctionPointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a FunctionPointer.

    explicit operator NullableFunctionPointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullableFunctionPointer.

    explicit operator NullablePersistentFunctionPointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentFunctionPointer.

    explicit operator PersistentFunctionPointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentFunctionPointer.

    operator false(PersistentSequencePointer<T>)

    Determines whether the specified pointer is null.

    operator >(NullablePointerReadOnly, PersistentSequencePointer<T>)

    Compares two values to determine which is greater.

    operator >(NullablePointerUninitialized, PersistentSequencePointer<T>)

    Compares two values to determine which is greater.

    operator >(PersistentSequencePointer<T>, NullablePointerReadOnly)

    Compares two values to determine which is greater.

    operator >(PersistentSequencePointer<T>, NullablePointerUninitialized)

    Compares two values to determine which is greater.

    operator >(PersistentSequencePointer<T>, PersistentSequencePointer<T>)

    Compares two values to determine which is greater.

    operator >=(NullablePointerReadOnly, PersistentSequencePointer<T>)

    Compares two values to determine which is greater or equal.

    operator >=(NullablePointerUninitialized, PersistentSequencePointer<T>)

    Compares two values to determine which is greater or equal.

    operator >=(PersistentSequencePointer<T>, NullablePointerReadOnly)

    Compares two values to determine which is greater or equal.

    operator >=(PersistentSequencePointer<T>, NullablePointerUninitialized)

    Compares two values to determine which is greater or equal.

    operator >=(PersistentSequencePointer<T>, PersistentSequencePointer<T>)

    Compares two values to determine which is greater or equal.

    implicit operator NullablePersistentPointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentPointer.

    implicit operator NullablePersistentPointerReadOnly(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentPointerReadOnly.

    implicit operator NullablePersistentPointerReadOnly<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentPointerReadOnly<T>.

    implicit operator NullablePersistentPointerUninitialized(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentPointerUninitialized.

    implicit operator NullablePersistentPointerUninitialized<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentPointerUninitialized<T>.

    implicit operator NullablePersistentPointer<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentPointer<T>.

    implicit operator NullablePersistentSequencePointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentSequencePointer.

    implicit operator NullablePersistentSequencePointerReadOnly(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentSequencePointerReadOnly.

    implicit operator NullablePersistentSequencePointerReadOnly<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentSequencePointerReadOnly<T>.

    implicit operator NullablePersistentSequencePointerUninitialized(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentSequencePointerUninitialized.

    implicit operator NullablePersistentSequencePointerUninitialized<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentSequencePointerUninitialized<T>.

    implicit operator NullablePersistentSequencePointer<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePersistentSequencePointer<T>.

    implicit operator NullablePointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePointer.

    implicit operator NullablePointerReadOnly(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePointerReadOnly.

    implicit operator NullablePointerReadOnly<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePointerReadOnly<T>.

    implicit operator NullablePointerUninitialized(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePointerUninitialized.

    implicit operator NullablePointerUninitialized<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePointerUninitialized<T>.

    implicit operator NullablePointer<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullablePointer<T>.

    implicit operator NullableSequencePointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullableSequencePointer.

    implicit operator NullableSequencePointerReadOnly(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullableSequencePointerReadOnly.

    implicit operator NullableSequencePointerReadOnly<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullableSequencePointerReadOnly<T>.

    implicit operator NullableSequencePointerUninitialized(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullableSequencePointerUninitialized.

    implicit operator NullableSequencePointerUninitialized<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullableSequencePointerUninitialized<T>.

    implicit operator NullableSequencePointer<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a NullableSequencePointer<T>.

    implicit operator PersistentPointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentPointer.

    implicit operator PersistentPointerReadOnly(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentPointerReadOnly.

    implicit operator PersistentPointerReadOnly<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentPointerReadOnly<T>.

    implicit operator PersistentPointerUninitialized(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentPointerUninitialized.

    implicit operator PersistentPointerUninitialized<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentPointerUninitialized<T>.

    implicit operator PersistentPointer<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentPointer<T>.

    implicit operator PersistentSequencePointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentSequencePointer.

    implicit operator PersistentSequencePointerReadOnly(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentSequencePointerReadOnly.

    implicit operator PersistentSequencePointerReadOnly<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentSequencePointerReadOnly<T>.

    implicit operator PersistentSequencePointerUninitialized(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentSequencePointerUninitialized.

    implicit operator PersistentSequencePointerUninitialized<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PersistentSequencePointerUninitialized<T>.

    implicit operator Pointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a Pointer.

    implicit operator PointerReadOnly(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PointerReadOnly.

    implicit operator PointerReadOnly<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PointerReadOnly<T>.

    implicit operator PointerUninitialized(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PointerUninitialized.

    implicit operator PointerUninitialized<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a PointerUninitialized<T>.

    implicit operator Pointer<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a Pointer<T>.

    implicit operator SequencePointer(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a SequencePointer.

    implicit operator SequencePointerReadOnly(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a SequencePointerReadOnly.

    implicit operator SequencePointerReadOnly<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a SequencePointerReadOnly<T>.

    implicit operator SequencePointerUninitialized(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a SequencePointerUninitialized.

    implicit operator SequencePointerUninitialized<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a SequencePointerUninitialized<T>.

    implicit operator SequencePointer<T>(PersistentSequencePointer<T>)

    Converts a PersistentSequencePointer<T> to a SequencePointer<T>.

    operator ++(PersistentSequencePointer<T>)

    Increments a value.

    operator !=(PersistentSequencePointer<T>, NullableFunctionPointer)

    Compares two values to determine inequality.

    operator !=(PersistentSequencePointer<T>, NullablePointerReadOnly)

    Compares two values to determine inequality.

    operator !=(PersistentSequencePointer<T>, NullablePointerUninitialized)

    Compares two values to determine inequality.

    operator !=(PersistentSequencePointer<T>, PersistentSequencePointer<T>)

    Compares two values to determine inequality.

    operator <(NullablePointerReadOnly, PersistentSequencePointer<T>)

    Compares two values to determine which is less.

    operator <(NullablePointerUninitialized, PersistentSequencePointer<T>)

    Compares two values to determine which is less.

    operator <(PersistentSequencePointer<T>, NullablePointerReadOnly)

    Compares two values to determine which is less.

    operator <(PersistentSequencePointer<T>, NullablePointerUninitialized)

    Compares two values to determine which is less.

    operator <(PersistentSequencePointer<T>, PersistentSequencePointer<T>)

    Compares two values to determine which is less.

    operator <=(NullablePointerReadOnly, PersistentSequencePointer<T>)

    Compares two values to determine which is less or equal.

    operator <=(NullablePointerUninitialized, PersistentSequencePointer<T>)

    Compares two values to determine which is less or equal.

    operator <=(PersistentSequencePointer<T>, NullablePointerReadOnly)

    Compares two values to determine which is less or equal.

    operator <=(PersistentSequencePointer<T>, NullablePointerUninitialized)

    Compares two values to determine which is less or equal.

    operator <=(PersistentSequencePointer<T>, PersistentSequencePointer<T>)

    Compares two values to determine which is less or equal.

    operator -(NullablePointerReadOnly<T>, PersistentSequencePointer<T>)

    Subtracts two values to compute their difference.

    operator -(NullablePointerUninitialized<T>, PersistentSequencePointer<T>)

    Subtracts two values to compute their difference.

    operator -(PersistentSequencePointer<T>, NullablePointerReadOnly<T>)

    Subtracts two values to compute their difference.

    operator -(PersistentSequencePointer<T>, NullablePointerUninitialized<T>)

    Subtracts two values to compute their difference.

    operator -(PersistentSequencePointer<T>, PersistentSequencePointer<T>)

    Subtracts two values to compute their difference.

    operator -(PersistentSequencePointer<T>, nint)

    Subtracts two values to compute their difference.

    operator -(PersistentSequencePointer<T>, nuint)

    Subtracts two values to compute their difference.

    operator true(PersistentSequencePointer<T>)

    Determines whether the specified pointer is non-null.

    © 2026 Felix Rüdiger. SemPtr and its documentation are licensed under the MIT license.