16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
*/
#import "OFObject.h"
#import "OFString.h"
OF_ASSUME_NONNULL_BEGIN
/*!
* @class OFCharacterSet OFCharacterSet.h ObjFW/OFCharacterSet.h
*
* @brief A class cluster representing a character set.
*
* @note Subclasses must implement @ref characterIsMember:.
*/
@interface OFCharacterSet: OFObject
{
OF_RESERVE_IVARS(4)
}
#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;
/*!
* @brief Creates a new character set containing the characters of the
* specified string.
*
* @param characters The characters for the character set
* @return A new OFCharacterSet
*/
+ (instancetype)characterSetWithCharactersInString: (OFString *)characters;
/*!
* @brief Creates a new character set containing the characters in the specified
* 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
*/
- (instancetype)initWithCharactersInString: (OFString *)characters;
/*!
* @brief Initializes an already allocated character set with the characters in
* the specified range.
*
* @param range The range of characters for the character set
* @return An initialized OFCharacterSet
*/
- (instancetype)initWithRange: (of_range_t)range;
/*!
* @brief Returns whether the specified character is a member of the character
* set.
*
* @param character The character that is checked for being a member of the
* character set
* @return Whether the specified character is a member of the character set.
*/
|
|
|
|
|
|
|
|
|
|
|
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
*/
#import "OFObject.h"
#import "OFString.h"
OF_ASSUME_NONNULL_BEGIN
/**
* @class OFCharacterSet OFCharacterSet.h ObjFW/OFCharacterSet.h
*
* @brief A class cluster representing a character set.
*
* @note Subclasses must implement @ref characterIsMember:.
*/
@interface OFCharacterSet: OFObject
{
OF_RESERVE_IVARS(OFCharacterSet, 4)
}
#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;
/**
* @brief Creates a new character set containing the characters of the
* specified string.
*
* @param characters The characters for the character set
* @return A new OFCharacterSet
*/
+ (instancetype)characterSetWithCharactersInString: (OFString *)characters;
/**
* @brief Creates a new character set containing the characters in the specified
* 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
*/
- (instancetype)initWithCharactersInString: (OFString *)characters;
/**
* @brief Initializes an already allocated character set with the characters in
* the specified range.
*
* @param range The range of characters for the character set
* @return An initialized OFCharacterSet
*/
- (instancetype)initWithRange: (of_range_t)range;
/**
* @brief Returns whether the specified character is a member of the character
* set.
*
* @param character The character that is checked for being a member of the
* character set
* @return Whether the specified character is a member of the character set.
*/
|