Spec-Zone.ru › OpenJDK 17

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

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

Классы, не зависящие от платформы, не должны реализовывать MemoryLayout.PathElement напрямую.

Если не указано иное, передача аргумента null или аргумента массива, содержащего один или несколько элементов null в метод этого класса вызывает исключение NullPointerException.

Требования к реализации:
Реализации этого интерфейса являются неизменяемыми и потокобезопасными.

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

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

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

groupElement

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

sequenceElement

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

sequenceElement

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

E * (S + I * F)
 
где E - размер (в байтах) макета элемента последовательности.
Параметры:
start - индекс первого элемента последовательности, который необходимо выбрать.
step - коэффициент шага, с которым будут выбираться последующие элементы последовательности.
Возвращает:
элемент пути, который выбирает макет элемента последовательности с заданным индексом.
Исключения:
IllegalArgumentException - если start < 0, или step == 0.

sequenceElement

static MemoryLayout.PathElement sequenceElement()
Возвращает элемент пути, который выбирает макет неопределенного элемента из заданного макета последовательности. Если путь со свободными измерениями n объединяется с элементом пути, возвращаемым этим методом, количество свободных измерений результирующего пути будет 1 + n.
Возвращает:
элемент пути, который выбирает макет неопределенного элемента последовательности.

© 1993, 2021, 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/17/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/MemoryLayout.PathElement.html

Spec-Zone.ru

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