Overview
Comment: | Add +[OFCharacterSet whitespaceCharacterSet] |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
aedb6bb8ebd6591b963dc6ad553431d7 |
User & Date: | js on 2018-07-07 23:11:21 |
Other Links: | manifest | tags |
Context
2018-07-08
| ||
12:07 | Initial code for OFDNSResolver check-in: dd375b6d4e user: js tags: trunk | |
2018-07-07
| ||
23:11 | Add +[OFCharacterSet whitespaceCharacterSet] check-in: aedb6bb8eb user: js tags: trunk | |
22:40 | Update to Unicode 11.0 check-in: d5b0c3cdc1 user: js tags: trunk | |
Changes
Modified src/OFCharacterSet.h from [2fe9dc031a] to [bc969cac39].
︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 33 34 35 | /*! * @class OFCharacterSet OFCharacterSet.h ObjFW/OFCharacterSet.h * * @brief A class cluster representing a character set. */ @interface OFCharacterSet: OFObject /*! * @brief The inverted set, containing only the characters that do not exist in * the receiver. */ @property (readonly, nonatomic) OFCharacterSet *invertedSet; /*! | > > > > | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | /*! * @class OFCharacterSet OFCharacterSet.h ObjFW/OFCharacterSet.h * * @brief A class cluster representing a character set. */ @interface OFCharacterSet: OFObject #ifdef OF_HAVE_CLASS_PROPERTIES @property (class, readonly, nonatomic) OFCharacterSet *whitespaceCharacterSet; #endif /*! * @brief The inverted set, containing only the characters that do not exist in * the receiver. */ @property (readonly, nonatomic) OFCharacterSet *invertedSet; /*! |
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 | * range. * * @param range The range of characters for the character set * @return A new OFCharacterSet */ + (instancetype)characterSetWithRange: (of_range_t)range; /*! * @brief Initializes an already allocated character set with the characters of * the specified string. * * @param characters The characters for the character set * @return An initialized OFCharacterSet */ | > > > > > > | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | * range. * * @param range The range of characters for the character set * @return A new OFCharacterSet */ + (instancetype)characterSetWithRange: (of_range_t)range; /*! * @brief A character set containing all Unicode characters in the category * `Zs` plus CHARACTER TABULATION (U+0009). */ + (OFCharacterSet *)whitespaceCharacterSet; /*! * @brief Initializes an already allocated character set with the characters of * the specified string. * * @param characters The characters for the character set * @return An initialized OFCharacterSet */ |
︙ | ︙ |
Modified src/OFCharacterSet.m from [9388e65e18] to [1d0806a0b2].
︙ | ︙ | |||
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #import "OFCharacterSet_bitset.h" #import "OFCharacterSet_invertedSet.h" #import "OFCharacterSet_range.h" static struct { Class isa; } placeholder; @interface OFCharacterSet_placeholder: OFCharacterSet @end @implementation OFCharacterSet_placeholder - (instancetype)init { return (id)[[OFCharacterSet_bitset alloc] init]; } | > > > > > > | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #import "OFCharacterSet_bitset.h" #import "OFCharacterSet_invertedSet.h" #import "OFCharacterSet_range.h" static struct { Class isa; } placeholder; static OFCharacterSet *whitespaceCharacterSet = nil; @interface OFCharacterSet_placeholder: OFCharacterSet @end @interface OFCharacterSet_whitespace: OFCharacterSet - (instancetype)of_init; @end @implementation OFCharacterSet_placeholder - (instancetype)init { return (id)[[OFCharacterSet_bitset alloc] init]; } |
︙ | ︙ | |||
89 90 91 92 93 94 95 96 97 98 99 100 101 102 | autorelease]; } + (instancetype)characterSetWithRange: (of_range_t)range { return [[[self alloc] initWithRange: range] autorelease]; } - (instancetype)init { if ([self isMemberOfClass: [OFCharacterSet class]]) { @try { [self doesNotRecognizeSelector: _cmd]; } @catch (id e) { | > > > > > | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | autorelease]; } + (instancetype)characterSetWithRange: (of_range_t)range { return [[[self alloc] initWithRange: range] autorelease]; } + (OFCharacterSet *)whitespaceCharacterSet { return [OFCharacterSet_whitespace whitespaceCharacterSet]; } - (instancetype)init { if ([self isMemberOfClass: [OFCharacterSet class]]) { @try { [self doesNotRecognizeSelector: _cmd]; } @catch (id e) { |
︙ | ︙ | |||
125 126 127 128 129 130 131 132 133 | OF_UNRECOGNIZED_SELECTOR } - (OFCharacterSet *)invertedSet { return [[[OFCharacterSet_invertedSet alloc] of_initWithCharacterSet: self] autorelease]; } @end | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | OF_UNRECOGNIZED_SELECTOR } - (OFCharacterSet *)invertedSet { return [[[OFCharacterSet_invertedSet alloc] of_initWithCharacterSet: self] autorelease]; } @end @implementation OFCharacterSet_whitespace + (void)initialize { if (self != [OFCharacterSet_whitespace class]) return; whitespaceCharacterSet = [[OFCharacterSet_whitespace alloc] of_init]; } + (OFCharacterSet *)whitespaceCharacterSet { return whitespaceCharacterSet; } - (instancetype)init { OF_INVALID_INIT_METHOD } - (instancetype)of_init { return [super init]; } - (instancetype)autorelease { return self; } - (instancetype)retain { return self; } - (void)release { } - (unsigned int)retainCount { return OF_RETAIN_COUNT_MAX; } - (bool)characterIsMember: (of_unichar_t)character { switch (character) { case 0x0009: case 0x0020: case 0x00A0: case 0x1680: case 0x2000: case 0x2001: case 0x2002: case 0x2003: case 0x2004: case 0x2005: case 0x2006: case 0x2007: case 0x2008: case 0x2009: case 0x200A: case 0x202F: case 0x205F: case 0x3000: return true; default: return false; } } @end |