25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
* A pointer to the actual data.
*
* Since constant strings don't have `_storage`, they have to allocate
* it on the first access. Strings created at runtime just set the
* pointer to `&_storage`.
*/
struct of_string_utf8_ivars {
char *cString;
size_t cStringLength;
bool isUTF8;
size_t length;
bool hashed;
uint32_t hash;
char *_Nullable freeWhenDone;
} *restrict _s;
struct of_string_utf8_ivars _storage;
}
@end
#ifdef __cplusplus
extern "C" {
|
|
|
|
|
|
|
|
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
* A pointer to the actual data.
*
* Since constant strings don't have `_storage`, they have to allocate
* it on the first access. Strings created at runtime just set the
* pointer to `&_storage`.
*/
struct of_string_utf8_ivars {
char *cString;
size_t cStringLength;
bool isUTF8;
size_t length;
bool hashed;
unsigned long hash;
bool freeWhenDone;
} *restrict _s;
struct of_string_utf8_ivars _storage;
}
@end
#ifdef __cplusplus
extern "C" {
|