Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
opt
/
cpanel
/
ea-ruby27
/
root
/
usr
/
share
/
ruby
/
ruby-2.7.8
/
fiddle
/
File Content:
closure.rb
# frozen_string_literal: true module Fiddle class Closure # the C type of the return of the FFI closure attr_reader :ctype # arguments of the FFI closure attr_reader :args # Extends Fiddle::Closure to allow for building the closure in a block class BlockCaller < Fiddle::Closure # == Description # # Construct a new BlockCaller object. # # * +ctype+ is the C type to be returned # * +args+ are passed the callback # * +abi+ is the abi of the closure # # If there is an error in preparing the +ffi_cif+ or +ffi_prep_closure+, # then a RuntimeError will be raised. # # == Example # # include Fiddle # # cb = Closure::BlockCaller.new(TYPE_INT, [TYPE_INT]) do |one| # one # end # # func = Function.new(cb, [TYPE_INT], TYPE_INT) # def initialize ctype, args, abi = Fiddle::Function::DEFAULT, &block super(ctype, args, abi) @block = block end # Calls the constructed BlockCaller, with +args+ # # For an example see Fiddle::Closure::BlockCaller.new # def call *args @block.call(*args) end end end end
Submit
FILE
FOLDER
Name
Size
Permission
Action
closure.rb
1241 bytes
0644
cparser.rb
6200 bytes
0644
function.rb
323 bytes
0644
import.rb
9025 bytes
0644
pack.rb
3207 bytes
0644
struct.rb
6501 bytes
0644
types.rb
1942 bytes
0644
value.rb
2936 bytes
0644
N4ST4R_ID | Naxtarrr