# Uses of Interface
java.lang.foreign.MemoryLayout

Packages that use MemoryLayoutPREVIEW
Package
Description
java.lang.foreign
Provides low-level access to memory and functions outside the Java runtime.

- ## Uses of MemoryLayoutPREVIEW in java.lang.foreign

  Subinterfaces of MemoryLayoutPREVIEW in java.lang.foreign
  Modifier and Type
  Interface
  Description
  `interface`
  `AddressLayoutPREVIEW`
  Preview.
  A value layout used to model the address of some region of memory.
  `interface`
  `GroupLayoutPREVIEW`
  Preview.
  A compound layout that is an aggregation of multiple, heterogeneous member layouts.
  `interface`
  `PaddingLayoutPREVIEW`
  Preview.
  A padding layout.
  `interface`
  `SequenceLayoutPREVIEW`
  Preview.
  A compound layout that denotes a homogeneous repetition of a given element layout.
  `interface`
  `StructLayoutPREVIEW`
  Preview.
  A group layout whose member layouts are laid out one after the other.
  `interface`
  `UnionLayoutPREVIEW`
  Preview.
  A group layout whose member layouts are laid out at the same starting offset.
  `interface`
  `ValueLayoutPREVIEW`
  Preview.
  A layout that models values of basic data types.
  `static interface`
  `ValueLayout.OfBooleanPREVIEW`
  Preview.
  A value layout whose carrier is `boolean.class`.
  `static interface`
  `ValueLayout.OfBytePREVIEW`
  Preview.
  A value layout whose carrier is `byte.class`.
  `static interface`
  `ValueLayout.OfCharPREVIEW`
  Preview.
  A value layout whose carrier is `char.class`.
  `static interface`
  `ValueLayout.OfDoublePREVIEW`
  Preview.
  A value layout whose carrier is `double.class`.
  `static interface`
  `ValueLayout.OfFloatPREVIEW`
  Preview.
  A value layout whose carrier is `float.class`.
  `static interface`
  `ValueLayout.OfIntPREVIEW`
  Preview.
  A value layout whose carrier is `int.class`.
  `static interface`
  `ValueLayout.OfLongPREVIEW`
  Preview.
  A value layout whose carrier is `long.class`.
  `static interface`
  `ValueLayout.OfShortPREVIEW`
  Preview.
  A value layout whose carrier is `short.class`.
  Methods in java.lang.foreign that return MemoryLayoutPREVIEW
  Modifier and Type
  Method
  Description
  `MemoryLayoutPREVIEW`
  SequenceLayout.`elementLayout()`
  Returns the element layout of this sequence layout.
  `default MemoryLayoutPREVIEW`
  MemoryLayout.`select(MemoryLayout.PathElementPREVIEW... elements)`
  Returns the layout selected from the provided path, where the initial layout in the path is this layout.
  `MemoryLayoutPREVIEW`
  MemoryLayout.`withByteAlignment(long byteAlignment)`
  Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).
  `MemoryLayoutPREVIEW`
  MemoryLayout.`withName(String name)`
  Returns a memory layout with the same characteristics as this layout, but with the given name.
  `MemoryLayoutPREVIEW`
  MemoryLayout.`withoutName()`
  Returns a memory layout with the same characteristics as this layout, but with no name.
  Methods in java.lang.foreign that return types with arguments of type MemoryLayoutPREVIEW
  Modifier and Type
  Method
  Description
  `List<MemoryLayoutPREVIEW>`
  FunctionDescriptor.`argumentLayouts()`
  Returns the argument layouts of this function descriptor (as an unmodifiable list).
  `List<MemoryLayoutPREVIEW>`
  GroupLayout.`memberLayouts()`
  Returns the member layouts of this group layout.
  `Optional<MemoryLayoutPREVIEW>`
  FunctionDescriptor.`returnLayout()`
  Returns the return layout (if any) of this function descriptor.
  `Optional<MemoryLayoutPREVIEW>`
  AddressLayout.`targetLayout()`
  Returns the target layout associated with this address layout (if any).
  Methods in java.lang.foreign with parameters of type MemoryLayoutPREVIEW
  Modifier and Type
  Method
  Description
  `default MemorySegmentPREVIEW`
  SegmentAllocator.`allocate(MemoryLayoutPREVIEW layout)`
  Allocates a memory segment with the given layout.
  `default MemorySegmentPREVIEW`
  SegmentAllocator.`allocateArray(MemoryLayoutPREVIEW elementLayout, long count)`
  Allocates a memory segment with the given element layout and size.
  `FunctionDescriptorPREVIEW`
  FunctionDescriptor.`appendArgumentLayouts(MemoryLayoutPREVIEW... addedLayouts)`
  Returns a function descriptor with the given argument layouts appended to the argument layouts of this function descriptor.
  `default MemorySegmentPREVIEW`
  MemorySegment.`asSlice(long offset, MemoryLayoutPREVIEW layout)`
  Returns a slice of this memory segment with the given layout, at the given offset.
  `FunctionDescriptorPREVIEW`
  FunctionDescriptor.`changeReturnLayout(MemoryLayoutPREVIEW newReturn)`
  Returns a function descriptor with the provided return layout.
  `Stream<MemorySegmentPREVIEW>`
  MemorySegment.`elements(MemoryLayoutPREVIEW elementLayout)`
  Returns a sequential `Stream` over disjoint slices (whose size matches that of the specified layout) in this segment.
  `FunctionDescriptorPREVIEW`
  FunctionDescriptor.`insertArgumentLayouts(int index, MemoryLayoutPREVIEW... addedLayouts)`
  Returns a function descriptor with the given argument layouts inserted at the given index, into the argument layout array of this function descriptor.
  `static FunctionDescriptorPREVIEW`
  FunctionDescriptor.`of(MemoryLayoutPREVIEW resLayout, MemoryLayoutPREVIEW... argLayouts)`
  Creates a function descriptor with the given return and argument layouts.
  `static FunctionDescriptorPREVIEW`
  FunctionDescriptor.`ofVoid(MemoryLayoutPREVIEW... argLayouts)`
  Creates a function descriptor with the given argument layouts and no return layout.
  `static SequenceLayoutPREVIEW`
  MemoryLayout.`sequenceLayout(long elementCount, MemoryLayoutPREVIEW elementLayout)`
  Creates a sequence layout with the given element layout and element count.
  `static SequenceLayoutPREVIEW`
  MemoryLayout.`sequenceLayout(MemoryLayoutPREVIEW elementLayout)`
  Creates a sequence layout with the given element layout and the maximum element count such that it does not overflow a `long`.
  `Spliterator<MemorySegmentPREVIEW>`
  MemorySegment.`spliterator(MemoryLayoutPREVIEW elementLayout)`
  Returns a spliterator for this memory segment.
  `static StructLayoutPREVIEW`
  MemoryLayout.`structLayout(MemoryLayoutPREVIEW... elements)`
  Creates a struct layout with the given member layouts.
  `static UnionLayoutPREVIEW`
  MemoryLayout.`unionLayout(MemoryLayoutPREVIEW... elements)`
  Creates a union layout with the given member layouts.
  `AddressLayoutPREVIEW`
  AddressLayout.`withTargetLayout(MemoryLayoutPREVIEW layout)`
  Returns an address layout with the same carrier, alignment constraint, name and order as this address layout, but associated with the specified target layout.