Interface StructLayout
- All Superinterfaces:
GroupLayout,MemoryLayout
A group layout whose member layouts are laid out one after the other.
- Implementation Requirements:
- Implementing classes are immutable, thread-safe andvalue-based.
- Since:
- 22
Nested Class Summary
Nested classes/interfaces declared in interface MemoryLayout
MemoryLayout.PathElementMethod Summary
Modifier and TypeMethodDescriptionwithByteAlignment(long byteAlignment) Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).Returns a memory layout with the same characteristics as this layout, but with the given name.Returns a memory layout with the same characteristics as this layout, but with no name.Methods declared in interface GroupLayout
memberLayoutsMethods declared in interface MemoryLayout
arrayElementVarHandle,byteAlignment,byteOffset,byteOffsetHandle,byteSize,equals,hashCode,name,scale,scaleHandle,select,sliceHandle,toString,varHandle
Method Details
withName
Returns a memory layout with the same characteristics as this layout, but with the given name.- Specified by:
withNamein interfaceGroupLayout- Specified by:
withNamein interfaceMemoryLayout- Parameters:
name- the layout name- Returns:
- a memory layout with the same characteristics as this layout, but with the given name
- See Also:
withoutName
StructLayout withoutName()Returns a memory layout with the same characteristics as this layout, but with no name.- Specified by:
withoutNamein interfaceGroupLayout- Specified by:
withoutNamein interfaceMemoryLayout- Returns:
- a memory layout with the same characteristics as this layout, but with no name
- See Also:
withByteAlignment
Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).- Specified by:
withByteAlignmentin interfaceGroupLayout- Specified by:
withByteAlignmentin interfaceMemoryLayout- Parameters:
byteAlignment- the layout alignment constraint, expressed in bytes- Returns:
- a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes)
- Throws:
IllegalArgumentException- ifbyteAlignmentis not a power of twoIllegalArgumentException- ifbyteAlignmentis less thanM, whereMis the maximum alignment constraint in any of the member layouts associated with this group layout