Struct NullablePointer
Represents a null-able transient pointer pointing to a target.
Implements
Inherited Members
Namespace: SemPtr
Assembly: SemPtr.dll
Syntax
public readonly ref struct NullablePointer : ISpanFormattable, IFormattable, IUtf8SpanFormattable, IEquatable<NullablePointer>, IEquatable<NullablePointerReadOnly>, IEquatable<NullablePointerUninitialized>, IEquatable<NullableFunctionPointer>, IPointer<NullablePointer>, IPointer
Remarks
NullablePointer has the following characteristics:
null-ableYou must check whether the pointer isnullusing TryGetNonNull(out Pointer) before accessing the pointer's target.- TransientThe pointer's target is only valid for the lifetime of the pointer. You cannot let the pointer escape the current scope and you cannot access the pointer's target after the pointer's lifetime ends.
- Single objectThe pointer points to a single target.
- Read-writeYou can read and write the pointer's target.
- UntypedThe pointer points to a single target of unknown type. You must cast the pointer to a specific type before you can access its target.
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 | Gets a NullablePointer that represents a |
| Raw | Gets a raw pointer pointing to the same target as the current pointer. |
Methods
| Name | Description |
|---|---|
| Equals(NullableFunctionPointer) | Indicates whether the current object is equal to another object of the same type. |
| Equals(NullablePointer) | 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(object?) | Not supported. Do not call this method, use the Equals(NullablePointer) method instead. |
| FromIntPtr(nint) | Creates a NullablePointer from a memory address given as a nint. |
| FromRaw(void*) | Creates a NullablePointer from a |
| FromRaw<T>(T*) | Creates a NullablePointer<T> from a |
| FromUIntPtr(nuint) | Creates a NullablePointer 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. |
| TryGetNonNull(out Pointer) | Attempts to get a non- |