Module jdk.incubator.foreign
Package jdk.incubator.foreign

# Interface Addressable

All Known Subinterfaces:
  `MemoryAddress`, `MemorySegment`, `NativeSymbol`, `VaList`

public sealed interface Addressable permits MemorySegment, MemoryAddress, NativeSymbol, VaList
Represents a type which is addressable. An addressable type is one which can be projected down to a memory address. Examples of addressable types are `MemorySegment`, `MemoryAddress`, `VaList` and `NativeSymbol`.

The `Addressable` type is used by the `C linker` to model the types of `downcall handle` parameters that must be passed by reference (e.g. memory addresses, va lists and upcall stubs).

Implementation Requirements:
  Implementations of this interface are value-based.

## Method Summary

Modifier and Type
Method
Description
`MemoryAddress`
`address()`
Returns the memory address associated with this addressable.

## Method Details

### address

MemoryAddress address()
Returns the memory address associated with this addressable.

Returns:
  the memory address associated with this addressable