CValuesRef
Represents a reference to (possibly empty) sequence of C values. It can be either a stable pointer CPointer or a sequence of immutable values CValues.
CValuesRef is designed to be used as Kotlin representation of pointer-typed parameters of C functions. When passing CPointer as CValuesRef to the Kotlin binding method, the C function receives exactly this pointer. Passing CValues has nearly the same semantics as passing by value: the C function receives the pointer to the temporary copy of these values, and the caller can't observe the modifications to this copy. The copy is valid until the C function returns. There are other implementations of CValuesRef that provide temporary pointer, e.g. Kotlin Native specific refTo functions to pass primitive arrays directly to native.
Since Kotlin
1.3Inheritors
Functions
If this reference is CPointer, returns this pointer, otherwise allocate storage value in the scope and return it.