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.Member
A struct member.
|
static class |
StructLayout.NumberField |
static class |
StructLayout.PointerField |
static interface |
StructLayout.Storage |
Type.Array, Type.BuiltinRubyObject.DataRubyBasicObject.Finalizeralignment, nativeType, sizeIVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_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(java.lang.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() |
java.util.Collection<StructLayout.Field> |
getFields() |
java.util.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.
|
IRubyObject |
union_bang(ThreadContext context) |
alignment, createTypeClass, getNativeAlignment, getNativeSize, getNativeType, getTypeClass, sizeattachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, dig, dig1, dig2, eqlInternal, equalInternal, getNativeClassIndex, inspect, op_eqq, puts, specificEval, toRubyString, toStringaddFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, decode, 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, getMetaClass, getNativeHandle, getNativeTypeIndex, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getSingletonClassCloneAndAttach, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id, infectBy, initialize_copy, initialize, 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, isSpecialObject, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing, 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, 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_added, singleton_method_added19, singleton_method_removed, singleton_method_removed19, singleton_method_undefined, singleton_method_undefined19, singleton_method, singleton_methods, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_a, to_s, toJava, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, validateInstanceVariable, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderclone, finalize, getClass, notify, notifyAll, wait, wait, waitarraypublic 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 IRubyObject union_bang(ThreadContext context)
public boolean equals(java.lang.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 java.util.Collection<StructLayout.Field> getFields()
public final java.util.Collection<StructLayout.Member> getMembers()
public final boolean isUnion()
Copyright © 2001-2021 JRuby. All Rights Reserved.