Sha256: 760b51596af5cddbde718f4ec38399b87fe23bb90f11a0810b4d1402a17e0940

Contents?: true

Size: 539 Bytes

Versions: 8

Compression:

Stored size: 539 Bytes

Contents

# frozen_string_literal: true
module Fiddle
  class Function
    # The ABI of the Function.
    attr_reader :abi

    # The address of this function
    attr_reader :ptr

    # The name of this function
    attr_reader :name

    # Whether GVL is needed to call this function
    def need_gvl?
      @need_gvl
    end

    # The integer memory location of this function
    def to_i
      ptr.to_i
    end

    # Turn this function in to a proc
    def to_proc
      this = self
      lambda { |*args| this.call(*args) }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
fiddle-1.1.6 lib/fiddle/function.rb
fiddle-1.1.5 lib/fiddle/function.rb
fiddle-1.1.4 lib/fiddle/function.rb
fiddle-1.1.3 lib/fiddle/function.rb
fiddle-1.1.2 lib/fiddle/function.rb
fiddle-1.1.1 lib/fiddle/function.rb
fiddle-1.1.0 lib/fiddle/function.rb
fiddle-1.0.9 lib/fiddle/function.rb