Detached Object Graph
Начиная с Kotlin: 1.3
classDetachedObjectGraph<T>
Устарело
Ошибка начиная с 2.1
Поддержка устаревшего менеджера памяти полностью удалена. Используйте значение указателя напрямую. Для передачи значения через взаимодействие с C используйте класс StableRef.
Отсоединённый граф объектов инкапсулирует передаваемый отсоединённый подграф, к которому нельзя получить доступ извне, пока он не будет присоединён с помощью функции расширения attach.
Конструкторы
constructor(mode: TransferMode = TransferMode.SAFE, producer: () -> T)
Создаёт стабильный указатель на объект, гарантируя, что связанный с ним подграф объектов не пересекается с другими в указанном режиме (по умолчанию — TransferMode.SAFE). Необработанное значение, возвращаемое asCPointer, можно сохранить в переменную C или передать другой машине Kotlin.
constructor(pointer: COpaquePointer?)
Восстанавливает отсоединённый граф объектов из значения, ранее сохранённого в необработанном указателе C.
Функции
Начиная с Kotlin: 1.3
fun asCPointer(): COpaquePointer?
Возвращает значение необработанного указателя C, пригодное для взаимодействия с C.
Начиная с Kotlin: 1.3
inline fun <T> DetachedObjectGraph<T>.attach(): T
Присоединяет ранее отсоединённый подграф объектов, созданный с помощью DetachedObjectGraph. Обратите внимание: после присоединения графа объектов указатель DetachedObjectGraph.stable теряет смысл и должен быть отброшен, поэтому присоединить один объект DetachedObjectGraph можно только один раз.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.native.concurrent/-detached-object-graph/index.html