Top Fields Constructors Methods
org.jruby.ext.ffi

public final Class Buffer

extends AbstractMemory
Class Inheritance
Annotations
@JRubyClass
name:FFI::Buffer
parent:FFI::AbstractMemory
Imports
java.nio.ByteOrder, org.jruby.Ruby, .RubyClass, .RubyFixnum, .RubyModule, org.jruby.anno.JRubyClass, .JRubyMethod, org.jruby.runtime.*, org.jruby.runtime.builtin.IRubyObject

Field Summary

Modifier and TypeField and Description
public static final int
IN

Indicates that the Buffer is used for data copied IN to native memory

private int
public static final int
OUT

Indicates that the Buffer is used for data copied OUT from native memory

Inherited from org.jruby.ext.ffi.AbstractMemory:
ABSTRACT_MEMORY_RUBY_CLASSsizetypeSize

Constructor Summary

AccessConstructor and Description
public
Buffer(Ruby runtime, RubyClass klass)

public
Buffer(Ruby runtime, int size)

public
Buffer(Ruby runtime, int size, int flags)

private
Buffer(Ruby runtime, IRubyObject klass, MemoryIO io, long size, int typeSize, int inout)

Method Summary

Modifier and TypeMethod and Description
private static Buffer
allocate(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, int count, int flags)

public static Buffer
public static Buffer
public static Buffer
allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)

public static Buffer
public static Buffer
public static Buffer
allocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)

private static MemoryIO
allocateMemoryIO(Ruby runtime, int size)

public static Buffer
public static Buffer
public static Buffer
allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)

public static RubyClass
createBufferClass(ThreadContext context, RubyModule FFI, RubyClass AbstractMemory)

private static final int
getCount(ThreadContext context, IRubyObject countArg)

public int
protected Pointer
getPointer(Ruby runtime, long offset)

Implements abstract org.jruby.ext.ffi.AbstractMemory.getPointer.

private IRubyObject
init(ThreadContext context, IRubyObject rbTypeSize, int count, int flags, Block block)

public IRubyObject
initialize(ThreadContext context, IRubyObject sizeArg, Block block)

public IRubyObject
initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject arg2, Block block)

public IRubyObject
initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg, Block block)

public IRubyObject
initialize_copy(ThreadContext
the thread context
context
,
IRubyObject
the original
other
)

Overrides org.jruby.RubyBasicObject.initialize_copy.

Initializes this object as a copy of the original, that is the parameter to this object.

public IRubyObject
inspect(ThreadContext context)

Overrides org.jruby.RubyBasicObject.inspect.

Overrides default org.jruby.runtime.builtin.IRubyObject.inspect.

Returns a string containing a human-readable representation of obj.

public final AbstractMemory
order(Ruby runtime, ByteOrder order)

Implements abstract org.jruby.ext.ffi.AbstractMemory.order.

protected AbstractMemory
slice(Ruby runtime, long offset)

Implements abstract org.jruby.ext.ffi.AbstractMemory.slice.

protected AbstractMemory
slice(Ruby runtime, long offset, long size)

Implements abstract org.jruby.ext.ffi.AbstractMemory.slice.

Inherited from org.jruby.ext.ffi.AbstractMemory:
allocateMemoryIOarefcalculateTypeSizecastcheckArrayclearcreateAbstractMemoryClassequalsgetget_array_of_floatget_array_of_float64get_array_of_int16get_array_of_int32get_array_of_int64get_array_of_int8get_array_of_longget_array_of_pointerget_array_of_stringget_array_of_stringget_array_of_uint16get_array_of_uint32get_array_of_uint64get_array_of_uint8get_array_of_ulongget_bytesget_float32get_float32get_float64get_float64get_int16get_int16get_int32get_int32get_int64get_int64get_int8get_int8get_longget_longget_pointerget_pointerget_stringget_stringget_stringget_uint16get_uint16get_uint32get_uint32get_uint64get_uint64get_uint8get_uint8get_ulongget_ulonggetOffsetgetSizehashhashCodeop_equalop_plusorderorderputput_array_of_floatput_array_of_float64put_array_of_int16put_array_of_int32put_array_of_int64put_array_of_int8put_array_of_longput_array_of_pointerput_array_of_uint16put_array_of_uint32put_array_of_uint64put_array_of_uint8put_array_of_ulongput_bytesput_callbackput_float32put_float32put_float64put_float64put_int16put_int16put_int32put_int32put_int64put_int64put_int8put_int8put_longput_longput_pointerput_pointerput_stringput_uint16put_uint16put_uint32put_uint32put_uint64put_uint64put_uint8put_uint8put_ulongput_ulongread_array_of_floatread_array_of_float64read_array_of_int16read_array_of_int32read_array_of_int64read_array_of_int8read_array_of_longread_array_of_pointerread_array_of_stringread_array_of_stringread_array_of_typeread_array_of_typeread_array_of_uint16read_array_of_uint32read_array_of_uint64read_array_of_uint8read_array_of_ulongread_bytesread_charread_doubleread_floatread_intread_longread_long_longread_pointerread_shortread_stringread_stringread_ucharread_uintread_uint16read_uint8read_ulongread_ulong_longread_ushortsliceto_ptrtotaltype_sizewrite_array_of_floatwrite_array_of_float64write_array_of_int16write_array_of_int32write_array_of_int64write_array_of_int8write_array_of_longwrite_array_of_pointerwrite_array_of_typewrite_array_of_typewrite_array_of_uint16write_array_of_uint32write_array_of_uint64write_array_of_uint8write_array_of_ulongwrite_byteswrite_charwrite_doublewrite_floatwrite_intwrite_longwrite_long_longwrite_pointerwrite_shortwrite_stringwrite_stringwrite_ucharwrite_uintwrite_ulong_longwrite_ushort

Field Detail

INback to summary
public static final int IN

Indicates that the Buffer is used for data copied IN to native memory

inoutback to summary
private int inout
OUTback to summary
public static final int OUT

Indicates that the Buffer is used for data copied OUT from native memory

Constructor Detail

Bufferback to summary
public Buffer(Ruby runtime, RubyClass klass)
Bufferback to summary
public Buffer(Ruby runtime, int size)
Bufferback to summary
public Buffer(Ruby runtime, int size, int flags)
Bufferback to summary
private Buffer(Ruby runtime, IRubyObject klass, MemoryIO io, long size, int typeSize, int inout)

Method Detail

allocateback to summary
private static Buffer allocate(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, int count, int flags)
allocateInOutback to summary
public static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg)
Annotations
@JRubyMethod
name:alloc_inout, __alloc_inout
meta:true
allocateInOutback to summary
public static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
Annotations
@JRubyMethod
name:alloc_inout, __alloc_inout
meta:true
allocateInOutback to summary
public static Buffer allocateInOut(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
Annotations
@JRubyMethod
name:alloc_inout, __alloc_inout
meta:true
allocateInputback to summary
public static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject arg)
Annotations
@JRubyMethod
name:new_in, alloc_in, __alloc_in
meta:true
allocateInputback to summary
public static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
Annotations
@JRubyMethod
name:new_in, alloc_in, __alloc_in
meta:true
allocateInputback to summary
public static Buffer allocateInput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
Annotations
@JRubyMethod
name:new_in, alloc_in, __alloc_in
meta:true
allocateMemoryIOback to summary
private static MemoryIO allocateMemoryIO(Ruby runtime, int size)
allocateOutputback to summary
public static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg)
Annotations
@JRubyMethod
name:new_out, alloc_out, __alloc_out
meta:true
allocateOutputback to summary
public static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject arg2)
Annotations
@JRubyMethod
name:new_out, alloc_out, __alloc_out
meta:true
allocateOutputback to summary
public static Buffer allocateOutput(ThreadContext context, IRubyObject recv, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg)
Annotations
@JRubyMethod
name:new_out, alloc_out, __alloc_out
meta:true
createBufferClassback to summary
public static RubyClass createBufferClass(ThreadContext context, RubyModule FFI, RubyClass AbstractMemory)
getCountback to summary
private static final int getCount(ThreadContext context, IRubyObject countArg)
getInOutFlagsback to summary
public int getInOutFlags()
getPointerback to summary
protected Pointer getPointer(Ruby runtime, long offset)

Implements abstract org.jruby.ext.ffi.AbstractMemory.getPointer.

initback to summary
private IRubyObject init(ThreadContext context, IRubyObject rbTypeSize, int count, int flags, Block block)
initializeback to summary
public IRubyObject initialize(ThreadContext context, IRubyObject sizeArg, Block block)
Annotations
@JRubyMethod
name:initialize
visibility:PRIVATE
initializeback to summary
public IRubyObject initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject arg2, Block block)
Annotations
@JRubyMethod
name:initialize
visibility:PRIVATE
initializeback to summary
public IRubyObject initialize(ThreadContext context, IRubyObject sizeArg, IRubyObject countArg, IRubyObject clearArg, Block block)
Annotations
@JRubyMethod
name:initialize
visibility:PRIVATE
initialize_copyback to summary
public IRubyObject initialize_copy(ThreadContext context, IRubyObject other)

Overrides org.jruby.RubyBasicObject.initialize_copy.

Doc from org.jruby.RubyBasicObject.initialize_copy.

Initializes this object as a copy of the original, that is the parameter to this object. Will make sure that the argument actually has the same real class as this object. It shouldn't be possible to initialize an object with something totally different.

Parameters
context:ThreadContext

the thread context

other:IRubyObject

the original

Returns:IRubyObject

a copy unless the same thing

Annotations
@JRubyMethod
visibility:PRIVATE
inspectback to summary
public IRubyObject inspect(ThreadContext context)

Overrides org.jruby.RubyBasicObject.inspect.

Overrides default org.jruby.runtime.builtin.IRubyObject.inspect.

Doc from org.jruby.RubyBasicObject.inspect.

Returns a string containing a human-readable representation of obj. If not overridden, uses the to_s method to generate the string. [ 1, 2, 3..4, 'five' ].inspect #=> "[1, 2, 3..4, \"five\"]" Time.new.inspect #=> "Wed Apr 09 08:54:39 CDT 2003"

Annotations
@JRubyMethod
name:inspect
orderback to summary
public final AbstractMemory order(Ruby runtime, ByteOrder order)

Implements abstract org.jruby.ext.ffi.AbstractMemory.order.

sliceback to summary
protected AbstractMemory slice(Ruby runtime, long offset)

Implements abstract org.jruby.ext.ffi.AbstractMemory.slice.

sliceback to summary
protected AbstractMemory slice(Ruby runtime, long offset, long size)

Implements abstract org.jruby.ext.ffi.AbstractMemory.slice.