class Arena : ArenaBase
open class ArenaBase : AutofreeScope
abstract class AutofreeScope : DeferScope, NativePlacement
typealias BooleanVar = BooleanVarOf<Boolean>
class BooleanVarOf<T : Boolean> : CPrimitiveVar
typealias ByteVar = ByteVarOf<Byte>
class ByteVarOf<T : Byte> : CPrimitiveVar
typealias CArrayPointer<T> = CPointer<T>
typealias CArrayPointerVar<T> = CPointerVar<T>
interface CEnum
abstract class CEnumVar : CPrimitiveVar
The C function.
class CFunction<T : Function<*>> : CPointed
The CPointed without any specified interpretation.
abstract class COpaque : CPointed
The pointer with an opaque type.
typealias COpaquePointer = CPointer<out CPointed>
The variable containing a COpaquePointer.
typealias COpaquePointerVar = CPointerVarOf<COpaquePointer>
interface CPlusPlusClass
C data or code.
abstract class CPointed : NativePointed
C pointer.
class CPointer<T : CPointed> : CValuesRef<T>
The C data variable containing the pointer to T.
typealias CPointerVar<T> = CPointerVarOf<CPointer<T>>
class CPointerVarOf<T : CPointer<*>> : CVariable
The C primitive-typed variable located in memory.
sealed class CPrimitiveVar : CVariable
The C struct-typed variable located in memory.
abstract class CStructVar : CVariable
The single immutable C value. It is self-contained and doesn't depend on native memory.
abstract class CValue<T : CVariable> : CValues<T>
The (possibly empty) sequence of immutable C values. It is self-contained and doesn't depend on native memory.
abstract class CValues<T : CVariable> : CValuesRef<T>
The C data variable located in memory.
abstract class CVariable : CPointed
open class DeferScope
typealias DoubleVar = DoubleVarOf<Double>
class DoubleVarOf<T : Double> : CPrimitiveVar
typealias FloatVar = FloatVarOf<Float>
class FloatVarOf<T : Float> : CPrimitiveVar
class ForeignException : Exception
typealias IntVar = IntVarOf<Int>
class IntVarOf<T : Int> : CPrimitiveVar
typealias LongVar = LongVarOf<Long>
class LongVarOf<T : Long> : CPrimitiveVar
abstract class ManagedType<T : CStructVar>
class MemScope : ArenaBase
interface NativeFreeablePlacement : NativePlacement
object nativeHeap : NativeFreeablePlacement
interface NativePlacement
The entity which has an associated native pointer. Subtypes are supposed to represent interpretations of the pointed data or code.
open class NativePointed
typealias NativePtr = NativePtr
typealias ObjCBlockVar<T> = ObjCNotImplementedVar<T>
interface ObjCClass : ObjCObject
interface ObjCClassOf<T : ObjCObject> : ObjCClass
class ObjCNotImplementedVar<T> : CVariable
interface ObjCObject
abstract class ObjCObjectBase : ObjCObject
abstract class ObjCObjectBaseMeta : ObjCObjectBase, ObjCObjectMeta
typealias ObjCObjectMeta = ObjCClass
class ObjCObjectVar<T> : CVariable
interface ObjCProtocol : ObjCObject
typealias ObjCStringVarOf<T> = ObjCNotImplementedVar<T>
data class Pinned<out T : Any>
typealias ShortVar = ShortVarOf<Short>
class ShortVarOf<T : Short> : CPrimitiveVar
interface SkiaRefCnt
class StableRef<out T : Any>
typealias UByteVar = UByteVarOf<UByte>
class UByteVarOf<T : UByte> : CPrimitiveVar
typealias UIntVar = UIntVarOf<UInt>
class UIntVarOf<T : UInt> : CPrimitiveVar
typealias ULongVar = ULongVarOf<ULong>
class ULongVarOf<T : ULong> : CPrimitiveVar
typealias UShortVar = UShortVarOf<UShort>
class UShortVarOf<T : UShort> : CPrimitiveVar
typealias Vector128Var = Vector128VarOf<Vector128>
class Vector128VarOf<T : Vector128> : CVariable
Marks Objective-C and Swift interoperability API as Beta.
annotation class BetaInteropApi
Marks foreign-memory-related API as experimental.
annotation class ExperimentalForeignApi
Makes Kotlin subclass of Objective-C class visible for runtime lookup after Kotlin main function gets invoked.
annotation class ExportObjCClass
annotation class ExternalObjCClass
annotation class InteropStubs
Makes Kotlin method in Objective-C class accessible through Objective-C dispatch to be used as action sent by control in UIKit or AppKit.
annotation class ObjCAction
annotation class ObjCConstructor
annotation class ObjCDirect
annotation class ObjCFactory
annotation class ObjCMethod
Makes Kotlin property in Objective-C class settable through Objective-C dispatch to be used as IB outlet.
annotation class ObjCOutlet
Marker for declarations that depend on numeric types of different bit width on at least two platforms.
annotation class UnsafeNumber
val String.cstr: CValues<ByteVar>
val nativeNullPtr: NativePtr
Returns the corresponding CPointed.
val <T : CPointed> CPointer<T>.pointed: T
The code or data pointed by the value of this variable.
var <T : CPointed, P : CPointer<T>> CPointerVarOf<P>.pointed: T?
Returns the pointer to this data or code.
val <T : CPointed> T.ptr: CPointer<T>
val <T : CStructVar> ManagedType<T>.ptr: CPointer<T>
val NativePointed?.rawPtr: NativePtr
val CPointer<*>?.rawValue: NativePtr
val String.utf16: CValues<UShortVar>
val String.utf32: CValues<IntVar>
val String.utf8: CValues<ByteVar>
var <T : Boolean> BooleanVarOf<T>.value: T
var <T : Byte> ByteVarOf<T>.value: T
var <T : Short> ShortVarOf<T>.value: T
var <T : Int> IntVarOf<T>.value: T
var <T : Long> LongVarOf<T>.value: T
var <T : UByte> UByteVarOf<T>.value: T
var <T : UShort> UShortVarOf<T>.value: T
var <T : UInt> UIntVarOf<T>.value: T
var <T : ULong> ULongVarOf<T>.value: T
var <T : Float> FloatVarOf<T>.value: T
var <T : Double> DoubleVarOf<T>.value: T
var <T : Vector128> Vector128VarOf<T>.value: T
var <T> ObjCNotImplementedVar<T>.value: T
var <T> ObjCObjectVar<T>.value: T
The value of this variable.
var <P : CPointer<*>> CPointerVarOf<P>.value: P?
val String.wcstr: CValues<UShortVar>
fun Pinned<ByteArray>.addressOf( index: Int ): CPointer<ByteVar>
fun Pinned<String>.addressOf(index: Int): CPointer<COpaque>
fun Pinned<CharArray>.addressOf( index: Int ): CPointer<COpaque>
fun Pinned<ShortArray>.addressOf( index: Int ): CPointer<ShortVar>
fun Pinned<IntArray>.addressOf(index: Int): CPointer<IntVar>
fun Pinned<LongArray>.addressOf( index: Int ): CPointer<LongVar>
fun Pinned<UByteArray>.addressOf( index: Int ): CPointer<UByteVar>
fun Pinned<UShortArray>.addressOf( index: Int ): CPointer<UShortVar>
fun Pinned<UIntArray>.addressOf( index: Int ): CPointer<UIntVar>
fun Pinned<ULongArray>.addressOf( index: Int ): CPointer<ULongVar>
fun Pinned<FloatArray>.addressOf( index: Int ): CPointer<FloatVar>
fun Pinned<DoubleArray>.addressOf( index: Int ): CPointer<DoubleVar>
fun <T : CVariable> alignOf(): Int
Allocates variable of given type.
fun <T : CVariable> NativePlacement.alloc(): T
Allocates variable of given type and initializes it applying given block.
fun <T : CVariable> NativePlacement.alloc( initialize: T.() -> Unit ): T
Allocates variable with given value type and initializes it with given value.
fun <T : Boolean> NativePlacement.alloc( value: T ): BooleanVarOf<T>
Allocates C array of given elements type and length.
fun <T : CVariable> NativePlacement.allocArray( length: Long ): CArrayPointer<T>
fun <T : CVariable> NativePlacement.allocArray( length: Int ): CArrayPointer<T>
Allocates C array of given elements type and length, and initializes its elements applying given block.
fun <T : CVariable> NativePlacement.allocArray( length: Long, initializer: T.(index: Long) -> Unit ): CArrayPointer<T>
fun <T : CVariable> NativePlacement.allocArray( length: Int, initializer: T.(index: Int) -> Unit ): CArrayPointer<T>
Allocates C array of given values.
fun <T : CPointer<*>> NativePlacement.allocArrayOf( vararg elements: T? ): CArrayPointer<CPointerVarOf<T>>
fun <T : CPointer<*>> NativePlacement.allocArrayOf( elements: List<T?> ): CArrayPointer<CPointerVarOf<T>>
fun NativePlacement.allocArrayOf( elements: ByteArray ): CArrayPointer<ByteVar>
fun NativePlacement.allocArrayOf( vararg elements: Float ): CArrayPointer<FloatVar>
Allocates C array of pointers to given elements.
fun <T : CPointed> NativePlacement.allocArrayOfPointersTo( elements: List<T?> ): CArrayPointer<CPointerVar<T>>
fun <T : CPointed> NativePlacement.allocArrayOfPointersTo( vararg elements: T? ): CArrayPointer<CPointerVar<T>>
fun <T : CPointed> NativePlacement.allocPointerTo(): CPointerVar<T>
fun <T : CVariable> CStructVar.arrayMemberAt( offset: Long ): CArrayPointer<T>
Converts to StableRef this opaque pointer produced by StableRef.asCPointer.
fun <T : Any> CPointer<*>.asStableRef(): StableRef<T>
fun <R> autoreleasepool(block: () -> R): R
fun bitsToDouble(bits: Long): Double
fun bitsToFloat(bits: Int): Float
fun <R : Any> Byte.convert(): R
fun <R : Any> Short.convert(): R
fun <R : Any> Int.convert(): R
fun <R : Any> Long.convert(): R
fun <R : Any> UByte.convert(): R
fun <R : Any> UShort.convert(): R
fun <R : Any> UInt.convert(): R
fun <R : Any> ULong.convert(): R
fun <T : CStructVar> CValue<T>.copy( modify: T.() -> Unit ): CValue<T>
fun createKotlinObjectHolder(any: Any?): NativePtr
fun CreateKStringFromNSString(ptr: NativePtr): String?
fun CreateNSStringFromKString(str: String?): NativePtr
fun <T : CVariable> createValues( count: Int, initializer: T.(index: Int) -> Unit ): CValues<T>
fun <T : CVariable> cValue(): CValue<T>
fun <T : CStructVar> cValue( initialize: T.() -> Unit ): CValue<T>
Returns sequence of immutable values CValues to pass them to C code.
fun cValuesOf(vararg elements: Byte): CValues<ByteVar>
fun cValuesOf(vararg elements: Short): CValues<ShortVar>
fun cValuesOf(vararg elements: Int): CValues<IntVar>
fun cValuesOf(vararg elements: Long): CValues<LongVar>
fun cValuesOf(vararg elements: Float): CValues<FloatVar>
fun cValuesOf(vararg elements: Double): CValues<DoubleVar>
fun <T : CPointed> cValuesOf( vararg elements: CPointer<T>? ): CValues<CPointerVar<T>>
fun cValuesOf(vararg elements: UByte): CValues<UByteVar>
fun cValuesOf(vararg elements: UShort): CValues<UShortVar>
fun cValuesOf(vararg elements: UInt): CValues<UIntVar>
fun cValuesOf(vararg elements: ULong): CValues<ULongVar>
fun NativeFreeablePlacement.free(pointer: CPointer<*>)
fun NativeFreeablePlacement.free(pointed: NativePointed)
operator fun <T : Byte> CPointer<ByteVarOf<T>>.get( index: Int ): T
operator fun <T : Byte> CPointer<ByteVarOf<T>>.get( index: Long ): T
operator fun <T : Short> CPointer<ShortVarOf<T>>.get( index: Int ): T
operator fun <T : Short> CPointer<ShortVarOf<T>>.get( index: Long ): T
operator fun <T : Int> CPointer<IntVarOf<T>>.get( index: Int ): T
operator fun <T : Int> CPointer<IntVarOf<T>>.get( index: Long ): T
operator fun <T : Long> CPointer<LongVarOf<T>>.get( index: Int ): T
operator fun <T : Long> CPointer<LongVarOf<T>>.get( index: Long ): T
operator fun <T : UByte> CPointer<UByteVarOf<T>>.get( index: Int ): T
operator fun <T : UByte> CPointer<UByteVarOf<T>>.get( index: Long ): T
operator fun <T : UShort> CPointer<UShortVarOf<T>>.get( index: Int ): T
operator fun <T : UShort> CPointer<UShortVarOf<T>>.get( index: Long ): T
operator fun <T : UInt> CPointer<UIntVarOf<T>>.get( index: Int ): T
operator fun <T : UInt> CPointer<UIntVarOf<T>>.get( index: Long ): T
operator fun <T : ULong> CPointer<ULongVarOf<T>>.get( index: Int ): T
operator fun <T : ULong> CPointer<ULongVarOf<T>>.get( index: Long ): T
operator fun <T : Float> CPointer<FloatVarOf<T>>.get( index: Int ): T
operator fun <T : Float> CPointer<FloatVarOf<T>>.get( index: Long ): T
operator fun <T : Double> CPointer<DoubleVarOf<T>>.get( index: Int ): T
operator fun <T : Double> CPointer<DoubleVarOf<T>>.get( index: Long ): T
operator fun <T : CVariable> CPointer<T>.get(index: Long): T
operator fun <T : CVariable> CPointer<T>.get(index: Int): T
operator fun <T : CPointer<*>> CPointer<CPointerVarOf<T>>.get( index: Int ): T?
operator fun <T : CPointer<*>> CPointer<CPointerVarOf<T>>.get( index: Long ): T?
fun <T : CVariable> CValues<T>.getBytes(): ByteArray
If objCClass is a class generated to Objective-C header for Kotlin class, returns KClass for that original Kotlin class.
fun getOriginalKotlinClass(objCClass: ObjCClass): KClass<*>?
If objCProtocol is a protocol generated to Objective-C header for Kotlin class, returns KClass for that original Kotlin class.
fun getOriginalKotlinClass( objCProtocol: ObjCProtocol ): KClass<*>?
fun NativePointed.getRawPointer(): NativePtr
fun CPointer<*>.getRawValue(): NativePtr
fun <T : ObjCObjectBase> T.initBy(constructorCall: T): T
Performs type cast of the CPointer from the given raw pointer.
fun <T : CPointed> interpretCPointer( rawValue: NativePtr ): CPointer<T>?
fun interpretNullableOpaquePointed( ptr: NativePtr ): NativePointed?
Performs type cast of the native pointer to given interop type, including null values.
fun <T : NativePointed> interpretNullablePointed( ptr: NativePtr ): T?
fun <T : Any> interpretObjCPointer(objcPtr: NativePtr): T
fun <T> interpretObjCPointerOrNull(objcPtr: NativePtr): T?
fun interpretOpaquePointed(ptr: NativePtr): NativePointed
Returns interpretation of entity with given pointer.
fun <T : NativePointed> interpretPointed(ptr: NativePtr): T
operator fun <R> CPointer<CFunction<() -> R>>.invoke(): R
operator fun <P1, R> CPointer<CFunction<(P1) -> R>>.invoke( p1: P1 ): R
operator fun <P1, P2, R> CPointer<CFunction<(P1, P2) -> R>>.invoke( p1: P1, p2: P2 ): R
operator fun <P1, P2, P3, R> CPointer<CFunction<(P1, P2, P3) -> R>>.invoke( p1: P1, p2: P2, p3: P3 ): R
operator fun <P1, P2, P3, P4, R> CPointer<CFunction<(P1, P2, P3, P4) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4 ): R
operator fun <P1, P2, P3, P4, P5, R> CPointer<CFunction<(P1, P2, P3, P4, P5) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5 ): R
operator fun <P1, P2, P3, P4, P5, P6, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15, p16: P16 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15, p16: P16, p17: P17 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15, p16: P16, p17: P17, p18: P18 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15, p16: P16, p17: P17, p18: P18, p19: P19 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15, p16: P16, p17: P17, p18: P18, p19: P19, p20: P20 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15, p16: P16, p17: P17, p18: P18, p19: P19, p20: P20, p21: P21 ): R
operator fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, R> CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22) -> R>>.invoke( p1: P1, p2: P2, p3: P3, p4: P4, p5: P5, p6: P6, p7: P7, p8: P8, p9: P9, p10: P10, p11: P11, p12: P12, p13: P13, p14: P14, p15: P15, p16: P16, p17: P17, p18: P18, p19: P19, p20: P20, p21: P21, p22: P22 ): R
Returns the member of this CStructVar which is located by given offset in bytes.
fun <T : CPointed> CStructVar.memberAt(offset: Long): T
Runs given block providing allocation of memory which will be automatically disposed at the end of this scope.
fun <R> memScoped(block: MemScope.() -> R): R
fun <R : Number> Number.narrow(): R
fun objc_autoreleasePoolPop(ptr: NativePtr)
fun objc_autoreleasePoolPush(): NativePtr
fun objc_release(ptr: NativePtr)
fun objc_retain(ptr: NativePtr): NativePtr
fun objc_retainAutoreleaseReturnValue( ptr: NativePtr ): NativePtr
fun Any?.objcPtr(): NativePtr
fun optional(): Nothing
fun <T : Any> T.pin(): Pinned<T>
fun <T : CVariable> CValues<T>.placeTo( scope: AutofreeScope ): CPointer<T>
operator fun <T : ByteVarOf<*>> CPointer<T>?.plus( index: Long ): CPointer<T>?
operator fun <T : ByteVarOf<*>> CPointer<T>?.plus( index: Int ): CPointer<T>?
fun readBits( ptr: NativePtr, offset: Long, size: Int, signed: Boolean ): Long
fun COpaquePointer.readBytes(count: Int): ByteArray
fun <T : CVariable> CPointed.readValue( size: Long, align: Int ): CValue<T>
fun <T : CStructVar> T.readValue(): CValue<T>
fun <T : CVariable> CPointed.readValues( size: Int, align: Int ): CValues<T>
fun <T : CVariable> T.readValues(count: Int): CValues<T>
fun ByteArray.refTo(index: Int): CValuesRef<ByteVar>
fun String.refTo(index: Int): CValuesRef<COpaque>
fun CharArray.refTo(index: Int): CValuesRef<COpaque>
fun ShortArray.refTo(index: Int): CValuesRef<ShortVar>
fun IntArray.refTo(index: Int): CValuesRef<IntVar>
fun LongArray.refTo(index: Int): CValuesRef<LongVar>
fun UByteArray.refTo(index: Int): CValuesRef<UByteVar>
fun UShortArray.refTo(index: Int): CValuesRef<UShortVar>
fun UIntArray.refTo(index: Int): CValuesRef<UIntVar>
fun ULongArray.refTo(index: Int): CValuesRef<ULongVar>
fun FloatArray.refTo(index: Int): CValuesRef<FloatVar>
fun DoubleArray.refTo(index: Int): CValuesRef<DoubleVar>
Changes the interpretation of the pointed data or code.
fun <T : NativePointed> NativePointed.reinterpret(): T
fun <T : CPointed> CPointer<*>.reinterpret(): CPointer<T>
operator fun <T : Byte> CPointer<ByteVarOf<T>>.set( index: Int, value: T)
operator fun <T : Byte> CPointer<ByteVarOf<T>>.set( index: Long, value: T)
operator fun <T : Short> CPointer<ShortVarOf<T>>.set( index: Int, value: T)
operator fun <T : Short> CPointer<ShortVarOf<T>>.set( index: Long, value: T)
operator fun <T : Int> CPointer<IntVarOf<T>>.set( index: Int, value: T)
operator fun <T : Int> CPointer<IntVarOf<T>>.set( index: Long, value: T)
operator fun <T : Long> CPointer<LongVarOf<T>>.set( index: Int, value: T)
operator fun <T : Long> CPointer<LongVarOf<T>>.set( index: Long, value: T)
operator fun <T : UByte> CPointer<UByteVarOf<T>>.set( index: Int, value: T)
operator fun <T : UByte> CPointer<UByteVarOf<T>>.set( index: Long, value: T)
operator fun <T : UShort> CPointer<UShortVarOf<T>>.set( index: Int, value: T)
operator fun <T : UShort> CPointer<UShortVarOf<T>>.set( index: Long, value: T)
operator fun <T : UInt> CPointer<UIntVarOf<T>>.set( index: Int, value: T)
operator fun <T : UInt> CPointer<UIntVarOf<T>>.set( index: Long, value: T)
operator fun <T : ULong> CPointer<ULongVarOf<T>>.set( index: Int, value: T)
operator fun <T : ULong> CPointer<ULongVarOf<T>>.set( index: Long, value: T)
operator fun <T : Float> CPointer<FloatVarOf<T>>.set( index: Int, value: T)
operator fun <T : Float> CPointer<FloatVarOf<T>>.set( index: Long, value: T)
operator fun <T : Double> CPointer<DoubleVarOf<T>>.set( index: Int, value: T)
operator fun <T : Double> CPointer<DoubleVarOf<T>>.set( index: Long, value: T)
operator fun <T : CPointer<*>> CPointer<CPointerVarOf<T>>.set( index: Int, value: T?)
operator fun <T : CPointer<*>> CPointer<CPointerVarOf<T>>.set( index: Long, value: T?)
fun <R : Number> Number.signExtend(): R
fun <T : CVariable> sizeOf(): Long
Returns a pointer to C function which calls given Kotlin static function.
fun <R> staticCFunction( function: () -> R ): CPointer<CFunction<() -> R>>
fun <P1, R> staticCFunction( function: (P1) -> R ): CPointer<CFunction<(P1) -> R>>
fun <P1, P2, R> staticCFunction( function: (P1, P2) -> R ): CPointer<CFunction<(P1, P2) -> R>>
fun <P1, P2, P3, R> staticCFunction( function: (P1, P2, P3) -> R ): CPointer<CFunction<(P1, P2, P3) -> R>>
fun <P1, P2, P3, P4, R> staticCFunction( function: (P1, P2, P3, P4) -> R ): CPointer<CFunction<(P1, P2, P3, P4) -> R>>
fun <P1, P2, P3, P4, P5, R> staticCFunction( function: (P1, P2, P3, P4, P5) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5) -> R>>
fun <P1, P2, P3, P4, P5, P6, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21) -> R>>
fun <P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22, R> staticCFunction( function: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22) -> R ): CPointer<CFunction<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P20, P21, P22) -> R>>
fun Byte.toBoolean(): Boolean
fun Boolean.toByte(): Byte
fun <T : CPointed> Long.toCPointer(): CPointer<T>?
Convert this list of Kotlin strings to C array of C strings, allocating memory for the array and C strings with given AutofreeScope.
fun List<String>.toCStringArray( autofreeScope: AutofreeScope ): CPointer<CPointerVar<ByteVar>>
Convert this array of Kotlin strings to C array of C strings, allocating memory for the array and C strings with given AutofreeScope.
fun Array<String>.toCStringArray( autofreeScope: AutofreeScope ): CPointer<CPointerVar<ByteVar>>
fun ByteArray.toCValues(): CValues<ByteVar>
fun ShortArray.toCValues(): CValues<ShortVar>
fun IntArray.toCValues(): CValues<IntVar>
fun LongArray.toCValues(): CValues<LongVar>
fun FloatArray.toCValues(): CValues<FloatVar>
fun DoubleArray.toCValues(): CValues<DoubleVar>
fun <T : CPointed> Array<CPointer<T>?>.toCValues(): CValues<CPointerVar<T>>
fun <T : CPointed> List<CPointer<T>?>.toCValues(): CValues<CPointerVar<T>>
fun UByteArray.toCValues(): CValues<UByteVar>
fun UShortArray.toCValues(): CValues<UShortVar>
fun UIntArray.toCValues(): CValues<UIntVar>
fun ULongArray.toCValues(): CValues<ULongVar>
fun CPointer<ByteVar>.toKString(): String
fun CPointer<ShortVar>.toKString(): String
fun CPointer<UShortVar>.toKString(): String
Decodes a string from the bytes in UTF-8 encoding in this array. Bytes following the first occurrence of 0 byte, if it occurs, are not decoded.
fun ByteArray.toKString(): String
Decodes a string from the bytes in UTF-8 encoding in this array or its subrange. Bytes following the first occurrence of 0 byte, if it occurs, are not decoded.
fun ByteArray.toKString( startIndex: Int = 0, endIndex: Int = this.size, throwOnInvalidSequence: Boolean = false ): String
fun CPointer<ShortVar>.toKStringFromUtf16(): String
fun CPointer<UShortVar>.toKStringFromUtf16(): String
fun CPointer<IntVar>.toKStringFromUtf32(): String
fun CPointer<ByteVar>.toKStringFromUtf8(): String
fun <T : CPointed> CPointer<T>?.toLong(): Long
fun <T : CVariable> typeOf(): Type
fun <T : Any> unwrapKotlinObjectHolder(holder: Any?): T
Calls the block with temporary copy of this value as receiver.
fun <T : CStructVar, R> CValue<T>.useContents( block: T.() -> R ): R
fun <T : Any, R> T.usePinned(block: (Pinned<T>) -> R): R
fun <T : CVariable> CValue<T>.write(location: NativePtr)
fun writeBits( ptr: NativePtr, offset: Long, size: Int, value: Long)
fun <T : CVariable> zeroValue( size: Int, align: Int ): CValue<T>
fun <T : CVariable> zeroValue(): CValue<T>
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlinx.cinterop/