# All Classes and Interfaces

Interfaces
Class
Description
AddressLayout
A value layout used to model the address of some region of memory.
Arena
An arena controls the lifecycle of native memory segments, providing both flexible allocation and timely deallocation.
FunctionDescriptor
A function descriptor models the signature of a foreign function.
GroupLayout
A compound layout that is an aggregation of multiple, heterogeneous member layouts.
Linker
A linker provides access to foreign functions from Java code, and access to Java code from foreign functions.
Linker.Option
A linker option is used to provide additional parameters to a linkage request.
MemoryLayout
A memory layout describes the contents of a memory segment.
MemoryLayout.PathElement
An element in a layout path.
MemorySegment
A memory segment provides access to a contiguous region of memory.
MemorySegment.Scope
A scope models the lifetime of all the memory segments associated with it.
PaddingLayout
A padding layout.
SegmentAllocator
An object that may be used to allocate memory segments.
SequenceLayout
A compound layout that denotes a homogeneous repetition of a given element layout.
StructLayout
A group layout whose member layouts are laid out one after the other.
SymbolLookup
A symbol lookup retrieves the address of a symbol in one or more libraries.
UnionLayout
A group layout whose member layouts are laid out at the same starting offset.
ValueLayout
A layout that models values of basic data types.
ValueLayout.OfBoolean
A value layout whose carrier is `boolean.class`.
ValueLayout.OfByte
A value layout whose carrier is `byte.class`.
ValueLayout.OfChar
A value layout whose carrier is `char.class`.
ValueLayout.OfDouble
A value layout whose carrier is `double.class`.
ValueLayout.OfFloat
A value layout whose carrier is `float.class`.
ValueLayout.OfInt
A value layout whose carrier is `int.class`.
ValueLayout.OfLong
A value layout whose carrier is `long.class`.
ValueLayout.OfShort
A value layout whose carrier is `short.class`.