23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/**
* @struct of_options_parser_option_t OFOptionsParser.h ObjFW/OFOptionsParser.h
*
* @brief An option which can be parsed by an @ref OFOptionsParser.
*/
struct of_options_parser_option_t {
/** The short version (e.g. `-v`) of the option or `\0` for none. */
of_unichar_t shortOption;
/**
* The long version (e.g. `--verbose`) of the option or `nil` for none.
*/
OFString *__unsafe_unretained _Nullable longOption;
/**
|
|
|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/**
* @struct of_options_parser_option_t OFOptionsParser.h ObjFW/OFOptionsParser.h
*
* @brief An option which can be parsed by an @ref OFOptionsParser.
*/
struct of_options_parser_option_t {
/** The short version (e.g. `-v`) of the option or `\0` for none. */
OFUnichar shortOption;
/**
* The long version (e.g. `--verbose`) of the option or `nil` for none.
*/
OFString *__unsafe_unretained _Nullable longOption;
/**
|
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
95
|
OF_SUBCLASSING_RESTRICTED
@interface OFOptionsParser: OFObject
{
of_options_parser_option_t *_options;
OFMapTable *_longOptions;
OFArray OF_GENERIC(OFString *) *_arguments;
size_t _index, _subIndex;
of_unichar_t _lastOption;
OFString *_Nullable _lastLongOption, *_Nullable _argument;
bool _done;
}
/**
* @brief The last parsed option.
*
* If @ref nextOption returned `?` or `:`, this returns the option which was
* unknown or for which the argument was missing.@n
* If this returns `-`, the last option is only available as a long option (see
* lastLongOption).
*/
@property (readonly, nonatomic) of_unichar_t lastOption;
/**
* @brief The long option for the last parsed option, or `nil` if the last
* parsed option was not passed as a long option by the user.
*
* In case @ref nextOption returned `?`, this contains the unknown long
* option.@n
|
|
|
|
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
95
|
OF_SUBCLASSING_RESTRICTED
@interface OFOptionsParser: OFObject
{
of_options_parser_option_t *_options;
OFMapTable *_longOptions;
OFArray OF_GENERIC(OFString *) *_arguments;
size_t _index, _subIndex;
OFUnichar _lastOption;
OFString *_Nullable _lastLongOption, *_Nullable _argument;
bool _done;
}
/**
* @brief The last parsed option.
*
* If @ref nextOption returned `?` or `:`, this returns the option which was
* unknown or for which the argument was missing.@n
* If this returns `-`, the last option is only available as a long option (see
* lastLongOption).
*/
@property (readonly, nonatomic) OFUnichar lastOption;
/**
* @brief The long option for the last parsed option, or `nil` if the last
* parsed option was not passed as a long option by the user.
*
* In case @ref nextOption returned `?`, this contains the unknown long
* option.@n
|
156
157
158
159
160
161
162
163
164
165
166
|
*
* @note You need to call @ref nextOption repeatedly until it returns `\0` to
* make sure all options have been parsed, even if you only rely on the
* optional pointers specified and don't do any parsing yourself.
*
* @return The next option
*/
- (of_unichar_t)nextOption;
@end
OF_ASSUME_NONNULL_END
|
|
|
156
157
158
159
160
161
162
163
164
165
166
|
*
* @note You need to call @ref nextOption repeatedly until it returns `\0` to
* make sure all options have been parsed, even if you only rely on the
* optional pointers specified and don't do any parsing yourself.
*
* @return The next option
*/
- (OFUnichar)nextOption;
@end
OF_ASSUME_NONNULL_END
|