The C '_Bool' and C++ 'bool' type.
C-style unchecked cast.
The C 'char' type.
The C++ 'char16_t' type.
The C++ 'char32_t' type.
The C 'double' type.
The C 'float' type.
C-style function pointer.
The C 'int' type.
The C 'long' type.
The C 'long int' type.
The C 'long long' type.
The C/C++ 'ptrdiff_t' type.
C-style string literal.
The C/C++ 'ssize_t' type.
The C 'short' type.
The C 'signed char' type.
The C/C++ 'size_t' type.
C-style string with trailing 0.
The C 'unsigned char' type.
The C 'unsigned int' type.
The C 'unsigned long' type.
The C 'unsigned long int' type.
The C 'unsigned long long' type.
The C 'unsigned short' type.
Type of a C-style vararg in an extern method.
The C++ 'wchar_t' type.
Scala Native extensions to the standard Byte.
Scala Native extensions to the standard Int.
Scala Native extensions to the standard Long.
Scala Native extensions to the standard Short.
The C const T *
pointer.
UByte
, a 8-bit unsigned integer.
UInt
, a 32-bit unsigned integer.
ULong
, a 64-bit unsigned integer.
UShort
, a 16-bit unsigned integer.
UInt on 32-bit architectures and ULong on 64-bit ones.
Int on 32-bit architectures and Long on 64-bit ones.
Zone allocator that automatically frees allocations whenever syntactic boundary of the zone is over.
Zone allocator that automatically frees allocations whenever syntactic boundary of the zone is over.
An annotation that is used to mark objects that contain externally-defined members.
Hint at inlining of the method.
An annotation that is used to automatically link with native library whenever an annotated extern object is used.
An annotation that is used to refer to differently-named native symbol.
An annotation that is used to refer to differently-named native symbol.
An annotation that is used to indicate that given field or method should never be eliminated during link-time whole-program dead code elimination as long as enclosing class or object is reachable.
An annotation that is used to indicate that given field or method should never be eliminated during link-time whole-program dead code elimination as long as enclosing class or object is reachable.
An annotation that is used to indicate that a given method is provided as a stub, but is not currently supported.
An annotation that is used to indicate that a given method is provided as a stub, but is not currently supported. These methods are not discovered by the linker by default, but will be discovered only if a special flag is enabled.
Heap allocate and zero-initialize n values using current implicit allocator.
Heap allocate and zero-initialize a value using current implicit allocator.
All functions take complex but Scala Native does not support pass by value so we pass a pointer to an Array of length 2 and have a small wrapper in C doing the conversion to call the native function.
All functions take complex but Scala Native does not support pass by value so we pass a pointer to an Array of length 2 and have a small wrapper in C doing the conversion to call the native function. Currently Scala Native and JVM have no direct support for long double so these methods are not implemented.
Since the user must manage the memory, we pass a buffer passed to each function for storing the result and is also is returned from the function so functions can be chained together. This adds one additional parameter to the function compared to the C API.
Implicit classes are provided for convenience.
References: https://en.wikipedia.org/wiki/C_data_types C99 also added complex types: float _Complex, double _Complex, long double _Complex https://en.wikipedia.org/wiki/Long_double http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/complex.h.html
Used as right hand side of external method and field declarations.
Convert a CString to a String using given charset.
The C 'sizeof' operator.
Stack allocate n values of given type.
Stack allocate n values of given type.
Note: unlike alloc, the memory is not zero-initialized.
Stack allocate a value of given type.
Stack allocate a value of given type.
Note: unlike alloc, the memory is not zero-initialized.
Convert a java.lang.String to a CString using given charset and allocator.
Convert a java.lang.String to a CString using default charset and given allocator.