Interface UnionLayout
- All Superinterfaces:
GroupLayout, MemoryLayout
public sealed interface UnionLayout extends GroupLayout
A group layout whose member layouts are laid out at the same starting offset.
- Implementation Requirements:
- Implementing classes are immutable, thread-safe and value-based.
- Since:
- 22
Nested Class Summary
Nested classes/interfaces declared in interface MemoryLayout
MemoryLayout.PathElement
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
UnionLayout |
withByteAlignment |
Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes). |
UnionLayout |
withName |
Returns a memory layout with the same characteristics as this layout, but with the given name. |
UnionLayout |
withoutName() |
Returns a memory layout with the same characteristics as this layout, but with no name. |
Methods declared in interface GroupLayout
memberLayouts
Methods declared in interface MemoryLayout
arrayElementVarHandle, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, scale, scaleHandle, select, sliceHandle, toString, varHandle
Method Details
withName
UnionLayout withName(String name)
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
UnionLayout 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
UnionLayout withByteAlignment(long byteAlignment)
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 two -
IllegalArgumentException- ifbyteAlignmentis less thanM, whereMis the maximum alignment constraint in any of the member layouts associated with this group layout
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/foreign/UnionLayout.html