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>
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
typealias IntVar = IntVarOf<Int>
class IntVarOf<T : Int> : CPrimitiveVar
typealias LongVar = LongVarOf<Long>
class LongVarOf<T : Long> : CPrimitiveVar
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
typealias StableObjPtr = StableRef<*>
This class provides a way to create a stable handle to any Kotlin object. After converting to CPointer it can be safely passed to native code e.g. to be received in a Kotlin callback.
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
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 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
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 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 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_lookUpClass(name: NativePtr): 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>
fun <T : ObjCObject> ObjCObject.reinterpret(): 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–2020 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/index.html