Struct PersistentSequencePointer<T>
Represents a non-nullable persistent pointer pointing to a contiguous sequence of targets of type T.
Implements
Inherited Members
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 fornull. - 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- |
| this[nint] | Gets a reference to the target value at the specified |
| this[nuint] | Gets a reference to the target value at the specified |
| 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 |
| AsSpan(nint, int) | Gets a Span<T> that represents a contiguous sequence of values of type |
| AsSpan(nuint, int) | Gets a Span<T> that represents a contiguous sequence of values of type |
| 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 |
| 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. |