public final class StructLayout extends Type
| Modifier and Type | Class and Description |
|---|---|
static class |
StructLayout.ArrayField |
static class |
StructLayout.ArrayProxy |
static class |
StructLayout.CharArrayProxy |
static class |
StructLayout.EnumField |
static class |
StructLayout.Field |
static class |
StructLayout.FunctionField |
static class |
StructLayout.InnerStructField |
static class |
StructLayout.MappedField |
static class |
StructLayout.Member
A struct member.
|
static class |
StructLayout.NumberField |
static class |
StructLayout.PointerField |
static interface |
StructLayout.Storage |
Type.Array, Type.BuiltinRubyObject.DataRubyBasicObject.Finalizeralignment, nativeType, sizeFIELD_ALLOCATED_CLASSES, FIELD_ALLOCATORS, IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, OBJECT_VAR0_ALLOCATOR, OBJECT_VAR1_ALLOCATOR, OBJECT_VAR2_ALLOCATOR, OBJECT_VAR3_ALLOCATOR, OBJECT_VAR4_ALLOCATOR, OBJECT_VAR5_ALLOCATOR, OBJECT_VAR6_ALLOCATOR, OBJECT_VAR7_ALLOCATOR, OBJECT_VAR8_ALLOCATOR, OBJECT_VAR9_ALLOCATOR, REIFYING_OBJECT_ALLOCATORALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, IS_OVERLAID_F, metaClass, NEVER, NIL_F, REFINED_MODULE_F, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUST_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, USER9_F, USERA_F, VAR_TABLE_OFFSET, varTable, varTableStampNULL_ARRAY| Modifier and Type | Method and Description |
|---|---|
IRubyObject |
aref(ThreadContext context,
IRubyObject fieldName) |
static RubyClass |
createStructLayoutClass(Ruby runtime,
RubyModule module)
Registers the StructLayout class in the JRuby runtime.
|
boolean |
equals(Object o)
This override does not do a "checked" dispatch.
|
IRubyObject |
fields(ThreadContext context) |
IRubyObject |
get(ThreadContext context,
IRubyObject ptr,
IRubyObject name)
Gets the value of the struct member corresponding to name.
|
int |
getFieldCount() |
Collection<StructLayout.Field> |
getFields() |
Collection<StructLayout.Member> |
getMembers() |
int |
getSize() |
int |
hashCode()
This override does not do "checked" dispatch since Object usually has #hash defined.
|
boolean |
isUnion() |
IRubyObject |
members(ThreadContext context)
Gets a ruby array of the names of all members of this struct.
|
static IRubyObject |
newStructLayout(ThreadContext context,
IRubyObject klass,
IRubyObject[] args) |
IRubyObject |
offset_of(ThreadContext context,
IRubyObject fieldName) |
IRubyObject |
offsets(ThreadContext context)
Gets a ruby array of the offsets of all members of this struct.
|
IRubyObject |
put(ThreadContext context,
IRubyObject ptr,
IRubyObject name,
IRubyObject value)
Sets the native value of the struct member corresponding to name.
|
alignment, createTypeClass, getNativeAlignment, getNativeSize, getNativeType, getTypeClass, sizeattachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, getNativeClassIndex, initialize, initialize, inspect, op_eqq, puts, specificEval, toStringaddFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, eql, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getNativeHandle, getNativeTypeIndex, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id, infectBy, initialize_copy, initialize19, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isSpecialConst, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, nonFixnumHashCode, OBJ_INIT_COPY, objInitCopy, op_cmp, op_equal_19, op_equal, op_match, op_match19, op_not_equal, op_not_match, op_not, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, rbInspect, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method_added19, singleton_method_removed19, singleton_method_undefined19, singleton_methods, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_s, toJava, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderpublic static RubyClass createStructLayoutClass(Ruby runtime, RubyModule module)
runtime - The JRuby runtime to register the new class in.public static final IRubyObject newStructLayout(ThreadContext context, IRubyObject klass, IRubyObject[] args)
public IRubyObject get(ThreadContext context, IRubyObject ptr, IRubyObject name)
ptr - The address of the structure in memory.name - The name of the member.public IRubyObject put(ThreadContext context, IRubyObject ptr, IRubyObject name, IRubyObject value)
ptr - The address of the structure in memory.name - The name of the member.public IRubyObject members(ThreadContext context)
public IRubyObject offsets(ThreadContext context)
public IRubyObject offset_of(ThreadContext context, IRubyObject fieldName)
public IRubyObject aref(ThreadContext context, IRubyObject fieldName)
public IRubyObject fields(ThreadContext context)
public boolean equals(Object o)
RubyObjectequals in class RubyObjectRubyBasicObject.equals(Object)public int hashCode()
RubyObjecthashCode in class RubyObjectRubyBasicObject.hashCode()public final int getSize()
public final int getFieldCount()
public final Collection<StructLayout.Field> getFields()
public final Collection<StructLayout.Member> getMembers()
public final boolean isUnion()
Copyright © 2001-2016 JRuby. All Rights Reserved.