ObjFW
Loading...
Searching...
No Matches
src
OFUTF8String.h
1
/*
2
* Copyright (c) 2008-2024 Jonathan Schleifer <js@nil.im>
3
*
4
* All rights reserved.
5
*
6
* This program is free software: you can redistribute it and/or modify it
7
* under the terms of the GNU Lesser General Public License version 3.0 only,
8
* as published by the Free Software Foundation.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13
* version 3.0 for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* version 3.0 along with this program. If not, see
17
* <https://www.gnu.org/licenses/>.
18
*/
19
20
#import "
OFString.h
"
21
22
OF_ASSUME_NONNULL_BEGIN
23
24
@interface
OFUTF8String:
OFString
25
{
26
/*
27
* A pointer to the actual data.
28
*
29
* Since constant strings don't have `_storage`, they have to allocate
30
* it on the first access. Strings created at runtime just set the
31
* pointer to `&_storage`.
32
*/
33
struct
OFUTF8StringIvars {
34
char
*cString;
35
size_t
cStringLength;
36
bool
isUTF8, containsNull;
37
size_t
length;
38
bool
hasHash;
39
unsigned
long
hash;
40
bool
freeWhenDone;
41
} *restrict _s;
42
struct
OFUTF8StringIvars _storage;
43
}
44
@end
45
46
OF_ASSUME_NONNULL_END
OFString.h
OFString
A class for handling strings.
Definition
OFString.h:143
Generated by
1.12.0