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

Search Results for

    Struct FunctionPointer<TDelegate>

    Represents a non-nullable transient function pointer pointing to a target function whose signature is represented by TDelegate

    Implements
    ISpanFormattable
    IFormattable
    IUtf8SpanFormattable
    ITypedFunctionPointer<TDelegate, FunctionPointer<TDelegate>>
    ITypedFunctionPointer<TDelegate>
    IFunctionPointer<FunctionPointer<TDelegate>>
    IFunctionPointer
    IPointer<FunctionPointer<TDelegate>>
    IPointer
    IEquatable<FunctionPointer<TDelegate>>
    IEquatable<NullableFunctionPointer>
    IEquatable<NullablePointerReadOnly>
    IEquatable<NullablePointerUninitialized>
    Inherited Members
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: SemPtr
    Assembly: SemPtr.dll
    Syntax
    public readonly ref struct FunctionPointer<TDelegate> : ISpanFormattable, IFormattable, IUtf8SpanFormattable, ITypedFunctionPointer<TDelegate, FunctionPointer<TDelegate>>, ITypedFunctionPointer<TDelegate>, IFunctionPointer<FunctionPointer<TDelegate>>, IFunctionPointer, IPointer<FunctionPointer<TDelegate>>, IPointer, IEquatable<FunctionPointer<TDelegate>>, IEquatable<NullableFunctionPointer>, IEquatable<NullablePointerReadOnly>, IEquatable<NullablePointerUninitialized> where TDelegate : notnull, Delegate
    Type Parameters
    Name Description
    TDelegate

    The type of the delegate representing the signature of the target function that this pointer points to.

    Remarks

    FunctionPointer<TDelegate> has the following characteristics:

    • Non-nullableYou can invoke the function pointer's target function directly without checking for null.
    • TransientThe function pointer's target function is only valid for the lifetime of the pointer. You cannot let the function pointer escape the current scope and you cannot invoke the function pointer's target function after the pointer's lifetime ends.
    • TypedThe function pointer points to a target function whose signature is represented by TDelegate.

    You should never create instances of FunctionPointer<TDelegate> using its parameterless constructors or default(FunctionPointer<TDelegate>). Doing so will result in undefined behavior. Always use the FromDelegate(TDelegate?), FromIntPtr(nint), or FromUIntPtr(nuint) methods to create instances of FunctionPointer<TDelegate> function pointers.

    Constructors

    Name Description
    FunctionPointer()

    Do not use. Do not create instances of non-nullable function 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.

    HasTargetFunction

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

    Methods

    Name Description
    Equals(FunctionPointer<TDelegate>)

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

    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(object?)

    Not supported. Do not call this method, use the Equals(FunctionPointer<TDelegate>) method instead.

    FromDelegate(TDelegate?)

    Creates a FunctionPointer<TDelegate> from a delegate of type TDelegate.

    FromIntPtr(nint)

    Creates a FunctionPointer<TDelegate> from a memory address given as a nint.

    FromUIntPtr(nuint)

    Creates a FunctionPointer<TDelegate> from a memory address given as a nint.

    GetHashCode()

    Returns the hash code for this instance.

    ToDelegate()

    Converts the current function pointer to a delegate of type TDelegate.

    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 ==(FunctionPointer<TDelegate>, FunctionPointer<TDelegate>)

    Compares two values to determine equality.

    operator ==(FunctionPointer<TDelegate>, NullableFunctionPointer)

    Compares two values to determine equality.

    operator ==(FunctionPointer<TDelegate>, NullablePointerReadOnly)

    Compares two values to determine equality.

    operator ==(FunctionPointer<TDelegate>, NullablePointerUninitialized)

    Compares two values to determine equality.

    explicit operator FunctionPointer<TDelegate>(FunctionPointer)

    Converts a FunctionPointer to a FunctionPointer<TDelegate>.

    explicit operator NullablePointerReadOnly(FunctionPointer<TDelegate>)

    Converts a FunctionPointer<TDelegate> to a NullablePointerReadOnly.

    explicit operator PointerReadOnly(FunctionPointer<TDelegate>)

    Converts a FunctionPointer<TDelegate> to a PointerReadOnly.

    explicit operator FunctionPointer<TDelegate>(PersistentFunctionPointer)

    Converts a PersistentFunctionPointer to a FunctionPointer<TDelegate>.

    explicit operator FunctionPointer<TDelegate>(PersistentPointer)

    Converts a PersistentPointer to a FunctionPointer<TDelegate>.

    explicit operator FunctionPointer<TDelegate>(PersistentPointerReadOnly)

    Converts a PersistentPointerReadOnly to a FunctionPointer<TDelegate>.

    explicit operator FunctionPointer<TDelegate>(PersistentSequencePointer)

    Converts a PersistentSequencePointer to a FunctionPointer<TDelegate>.

    explicit operator FunctionPointer<TDelegate>(PersistentSequencePointerReadOnly)

    Converts a PersistentSequencePointerReadOnly to a FunctionPointer<TDelegate>.

    explicit operator FunctionPointer<TDelegate>(Pointer)

    Converts a Pointer to a FunctionPointer<TDelegate>.

    explicit operator FunctionPointer<TDelegate>(PointerReadOnly)

    Converts a PointerReadOnly to a FunctionPointer<TDelegate>.

    explicit operator FunctionPointer<TDelegate>(SequencePointer)

    Converts a SequencePointer to a FunctionPointer<TDelegate>.

    explicit operator FunctionPointer<TDelegate>(SequencePointerReadOnly)

    Converts a SequencePointerReadOnly to a FunctionPointer<TDelegate>.

    operator false(FunctionPointer<TDelegate>)

    Determines whether the specified function pointer is null.

    implicit operator FunctionPointer(FunctionPointer<TDelegate>)

    Converts a FunctionPointer<TDelegate> to a FunctionPointer.

    implicit operator NullableFunctionPointer(FunctionPointer<TDelegate>)

    Converts a FunctionPointer<TDelegate> to a NullableFunctionPointer.

    implicit operator NullableFunctionPointer<TDelegate>(FunctionPointer<TDelegate>)

    Converts a FunctionPointer<TDelegate> to a NullableFunctionPointer<TDelegate>.

    operator !=(FunctionPointer<TDelegate>, FunctionPointer<TDelegate>)

    Compares two values to determine inequality.

    operator !=(FunctionPointer<TDelegate>, NullableFunctionPointer)

    Compares two values to determine inequality.

    operator !=(FunctionPointer<TDelegate>, NullablePointerReadOnly)

    Compares two values to determine inequality.

    operator !=(FunctionPointer<TDelegate>, NullablePointerUninitialized)

    Compares two values to determine inequality.

    operator true(FunctionPointer<TDelegate>)

    Determines whether the specified function pointer is non-null.

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