org.jruby.ext.ffi
Class Pointer

java.lang.Object
  extended by org.jruby.RubyBasicObject
      extended by org.jruby.RubyObject
          extended by org.jruby.ext.ffi.AbstractMemory
              extended by org.jruby.ext.ffi.Pointer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<IRubyObject>, InstanceVariables, InternalVariables, IRubyObject, CoreObjectType
Direct Known Subclasses:
AutoPointer, BasePointer

public abstract class Pointer
extends AbstractMemory

C memory pointer operations.

This is an abstract class that defines Pointer operations

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.ObjectMethods
 
Nested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.BasicObjectMethods, RubyBasicObject.Finalizer
 
Field Summary
 
Fields inherited from class org.jruby.ext.ffi.AbstractMemory
ABSTRACT_MEMORY_RUBY_CLASS, io, size, typeSize
 
Fields inherited from class org.jruby.RubyObject
OBJECT_ALLOCATOR
 
Fields inherited from class org.jruby.RubyBasicObject
ALL_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F
 
Fields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY
 
Constructor Summary
protected Pointer(Ruby runtime, RubyClass klass, MemoryIO io)
           
protected Pointer(Ruby runtime, RubyClass klass, MemoryIO io, long size)
           
protected Pointer(Ruby runtime, RubyClass klass, MemoryIO io, long size, int typeSize)
           
 
Method Summary
static RubyClass createPointerClass(Ruby runtime, RubyModule module)
           
static IRubyObject newInstance(ThreadContext context, IRubyObject recv, IRubyObject address)
           
static IRubyObject newInstance(ThreadContext context, IRubyObject recv, IRubyObject type, IRubyObject address)
           
 IRubyObject null_p(ThreadContext context)
          Tests if this Pointer represents the C NULL value.
 
Methods inherited from class org.jruby.ext.ffi.AbstractMemory
aref, calculateSize, checkArray, clear, createAbstractMemoryClass, eql, equals, get_array_of_float, get_array_of_float64, get_array_of_int16, get_array_of_int32, get_array_of_int64, get_array_of_int8, get_array_of_long, get_array_of_pointer, get_array_of_string, get_array_of_string, get_bytes, get_float32, get_float64, get_int16, get_int32, get_int64, get_int8, get_long, get_pointer, get_string, get_string, get_uint16, get_uint32, get_uint64, get_uint8, get_ulong, getMemoryIO, getOffset, getPointer, getSize, hash, hashCode, op_equal, op_plus, put_array_of_float, put_array_of_float64, put_array_of_int16, put_array_of_int32, put_array_of_int64, put_array_of_int8, put_array_of_long, put_array_of_pointer, put_bytes, put_callback, put_float32, put_float64, put_int16, put_int32, put_int64, put_int8, put_long, put_pointer, put_string, put_uint16, put_uint32, put_uint64, put_uint8, put_ulong, read_string, read_string, slice, to_s, total, type_size
 
Methods inherited from class org.jruby.RubyObject
as, attachToObjectSpace, callInit, checkFrozen, convertToType, createObjectClass, display, dup, eql_p, eqlInternal, equal_p, equalInternal, evalUnder, evalUnder, extend, freeze, frozen_p, getNativeTypeIndex, hash, id_deprecated, id, initialize_copy, initialize, inspect, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval, instance_exec, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, kind_of_p, method, methods, nil_p, op_eqq, op_match, private_methods, protected_methods, public_methods, puts, rbClone, remove_instance_variable, respond_to_p, respond_to_p, send, send, send, send, send, singleton_methods, singleton_methods19, singletonMethods, specificEval, specificEval, specificEval, specificEval, specificEval, taint, tainted_p, to_a, to_java, to_s, toString, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable
 
Methods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkStringType, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataWrapStruct, ensureInstanceVariablesSettable, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, getFlag, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hasInstanceVariable, hasInternalVariable, hasVariables, infectBy, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, makeMetaClass, op_not_equal, op_not, removeFinalizers, removeInstanceVariable, removeInternalVariable, respondsTo, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setTaint, setUntrusted, setVariable, syncVariables, taint, testFrozen, testFrozen, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableGetSize, variableTableRemove, variableTableStore, variableTableSync
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Pointer

protected Pointer(Ruby runtime,
                  RubyClass klass,
                  MemoryIO io)

Pointer

protected Pointer(Ruby runtime,
                  RubyClass klass,
                  MemoryIO io,
                  long size)

Pointer

protected Pointer(Ruby runtime,
                  RubyClass klass,
                  MemoryIO io,
                  long size,
                  int typeSize)
Method Detail

createPointerClass

public static RubyClass createPointerClass(Ruby runtime,
                                           RubyModule module)

newInstance

public static IRubyObject newInstance(ThreadContext context,
                                      IRubyObject recv,
                                      IRubyObject address)

newInstance

public static IRubyObject newInstance(ThreadContext context,
                                      IRubyObject recv,
                                      IRubyObject type,
                                      IRubyObject address)

null_p

public IRubyObject null_p(ThreadContext context)
Tests if this Pointer represents the C NULL value.

Returns:
true if the address is NULL.


Copyright © 2002-2007 JRuby Team. All Rights Reserved.