Spec-Zone.ru › OpenJDK 21

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

Закрывающий интерфейс:
MemoryLayoutPREVIEW
public static sealed interface MemoryLayout.PathElement
PathElement — это предварительный API платформы Java.
Программы могут использовать PathElement только при включенных предварительных функциях.
Предварительные функции могут быть удалены в будущей версии или доработаны до постоянных функций платформы Java.
Элемент в пути расположения. Существует три типа элементов пути:
  • элементы пути группы, используемые для выбора макета элемента внутри GroupLayoutПРЕДПРОСМОТР, либо по имени, либо по индексу;
  • элементы пути последовательности, используемые для выбора одного или нескольких макетов элементов последовательности внутри SequenceLayoutПРЕДПРОСМОТР; и
  • элементы пути разыменования, используемые для разыменования макета адреса в качестве целевого макета.
Элементы пути последовательности, выбирающие более одного макета элемента последовательности, называются открытыми элементами пути.
Требования к реализации:
Реализации этого интерфейса являются неизменяемыми, потокобезопасными и базовыми по значению.
С:
19

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

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

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

groupElement

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

groupElement

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

sequenceElement

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

sequenceElement

static MemoryLayout.PathElementPREVIEW 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)
Параметры:
start - индекс первого элемента последовательности, который должен быть выбран.
step - шаг, с которым выбираются последовательные элементы последовательности.
Возвращает:
элемент пути, который выбирает макет элемента последовательности с заданным индексом.
Выбрасывает:
IllegalArgumentException - если start < 0, или step == 0.

sequenceElement

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

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

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

dereferenceElement

static MemoryLayout.PathElementPREVIEW dereferenceElement()
Возвращает элемент пути, который разыменовывает макет адреса в качестве его целевого макетаПРЕДПРОСМОТР (если задан).
Возвращает:
элемент пути, который разыменовывает макет адреса.

© 1993, 2023, 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/21/docs/api/java.base/java/lang/foreign/MemoryLayout.PathElement.html

Spec-Zone.ru

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