Spec-Zone.ru › OpenJDK 24

Интерфейс MemoryLayout.PathElement

Вложенный интерфейс:
MemoryLayout
public static sealed interface MemoryLayout.PathElement
Элемент в пути разметки. Существует три вида элементов пути:
  • элементы пути группы, используемые для выбора разметки члена внутри GroupLayout, либо по имени, либо по индексу;
  • элементы пути последовательности, используемые для выбора одной или нескольких разметки элементов последовательности внутри SequenceLayout; и
  • элементы пути разыменования, используемые для разыменования разметки адреса в качестве целевой разметки.
Элементы пути последовательности, выбирающие более одного элемента разметки последовательности, называются открытыми элементами пути. Размер открытого элемента пути определяет количество элементов разметки, которые могут быть выбраны им.
Требования к реализации:
Реализации этого интерфейса являются неизменяемыми, потокобезопасными и базирующимися на значении.
С:
22

Краткое описание методов

Модификатор и тип Метод Описание
static MemoryLayout.PathElement dereferenceElement()
Возвращает элемент пути, который выбирает целевую разметку разметки адреса (если задана).
static MemoryLayout.PathElement groupElement(long index)
Возвращает элемент пути, который выбирает разметку члена с заданным индексом в разметке группы.
static MemoryLayout.PathElement groupElement(String name)
Возвращает элемент пути, который выбирает разметку члена с заданным именем в разметке группы.
static MemoryLayout.PathElement sequenceElement()
Возвращает открытый элемент пути, который выбирает неопределённый элемент разметки в разметке последовательности.
static MemoryLayout.PathElement sequenceElement(long index)
Возвращает элемент пути, который выбирает элемент разметки по заданному индексу в разметке последовательности.
static MemoryLayout.PathElement sequenceElement(long start, long step)
Возвращает открытый элемент пути, который выбирает элемент разметки в диапазоне позиций в разметке последовательности.

Подробное описание методов

groupElement

static MemoryLayout.PathElement groupElement(String name)
Возвращает элемент пути, который выбирает разметку члена с заданным именем в разметке группы.
Требования к реализации:
в случае, если существует несколько элементов группы с совпадающим именем, элемент пути, возвращаемый этим методом, выберет первый; то есть, элемент группы с наименьшим смещением от текущего пути будет выбран. В таких случаях использование groupElement(long) может быть предпочтительнее.
Параметры:
name - имя разметки члена, подлежащей выбору
Возвращает:
элемент пути, который выбирает разметку члена с заданным именем в разметке группы

groupElement

static MemoryLayout.PathElement groupElement(long index)
Возвращает элемент пути, который выбирает разметку члена с заданным индексом в разметке группы.
Параметры:
index - индекс элемента разметки члена, подлежащего выбору
Возвращает:
элемент пути, который выбирает разметку члена с заданным индексом в разметке группы
Исключение:
IllegalArgumentException - если index < 0

sequenceElement

static MemoryLayout.PathElement sequenceElement(long index)
Возвращает элемент пути, который выбирает элемент разметки по заданному индексу в разметке последовательности.
Параметры:
index - индекс элемента последовательности, подлежащего выбору
Возвращает:
элемент пути, который выбирает элемент разметки по заданному индексу в разметке последовательности
Исключение:
IllegalArgumentException - если index < 0

sequenceElement

static MemoryLayout.PathElement sequenceElement(long start, long step)
Возвращает открытый элемент пути, который выбирает элемент разметки в диапазоне позиций в разметке последовательности. Диапазон выражается как пара начального индекса (включительно) S и множителя шага (который также может быть отрицательным) F.

Точный элемент последовательности, выбранный этой разметкой, выражается как индекс I. Если C - количество элементов последовательности, то следует, что 0 <= I < B, где B вычисляется следующим образом:

  • если F > 0, то B = ceilDiv(C - S, F)
  • если F < 0, то B = ceilDiv(S + 1, -F)
То есть, размер возвращаемого открытого элемента пути составляет B.
Параметры:
start - индекс первого элемента последовательности, подлежащего выбору
step - множитель шага, по которому подлежат выбору последовательные элементы последовательности
Возвращает:
элемент пути, выбирающий элемент разметки последовательности с заданным индексом.
Исключение:
IllegalArgumentException - если start < 0 или step == 0

sequenceElement

static MemoryLayout.PathElement sequenceElement()
Возвращает открытый элемент пути, который выбирает неопределённый элемент разметки в разметке последовательности.

Точный элемент последовательности, выбранный этой разметкой, выражается как индекс I. Если C - количество элементов последовательности, то следует, что 0 <= I < C. То есть, C - это размер возвращаемого открытого элемента пути.

Возвращает:
открытый элемент пути, который выбирает неопределенный элемент разметки в разметке последовательности

dereferenceElement

static MemoryLayout.PathElement dereferenceElement()
Возвращает элемент пути, который выбирает целевую разметку разметки адреса (если задана).
Возвращает:
элемент пути, который выбирает целевую разметку разметки адреса (если задана)

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/foreign/MemoryLayout.PathElement.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API