std::ctypes
Types for talking to C and C++ that Kairo's primitives do not cover.
Contents
| Name | Summary |
|---|---|
c_char | C and C++'s plain char: neither i8 (signed char) nor u8 (unsigned char), and signed or not as the target's C is. |
c_wchar | C++'s wchar_t: 32 bits on most targets and 16 on Windows, signed or not as the target's C++ says. |
c_char16 | C++'s char16_t: a UTF-16 code unit, 16 bits, unsigned. |
c_char8 | C++'s char8_t: a UTF-8 code unit, 8 bits, unsigned, a type apart from char and unsigned char (u8). |
c_char
type c_char = __builtin_c_char
C and C++'s plain char: neither i8 (signed char) nor u8
(unsigned char), and signed or not as the target's C is. A C string is
*const c_char, which is const char* exactly, and a C char imports
as this. A character, not a number: as converts it to and from the
integers, and a literal takes it only in 0 through 127.
c_wchar
type c_wchar = __builtin_c_wchar
C++'s wchar_t: 32 bits on most targets and 16 on Windows, signed or
not as the target's C++ says. A C++ wchar_t imports as this, so
const wchar_t* is *const c_wchar and f(wchar_t) is an overload
apart from f(int). Like c_char, a character, not a number: as
converts it to and from the integers, and a literal takes it only in
0 through 0xFFFF, which fits it on every target.
c_char16
type c_char16 = __builtin_c_char16
C++'s char16_t: a UTF-16 code unit, 16 bits, unsigned. as to and
from the integers; a literal takes it in 0 through 0xFFFF.
c_char8
type c_char8 = __builtin_c_char8
C++'s char8_t: a UTF-8 code unit, 8 bits, unsigned, a type apart from
char and unsigned char (u8). as to and from the integers; a
literal takes it in 0 through 255.
Generated from Kairo source, Apache-2.0 WITH AdditionRef-Kairo-Runtime-exception.