ObjFW  Diff

Differences From Artifact [28983a280a]:

To Artifact [06c158db08]:

  • File src/OFOptionsParser.h — part of check-in [0a73af49f0] at 2017-04-30 13:35:16 on branch trunk — Use nonatomic for properties and clean up

    This changes retaining behavior, meaning properties are not returned
    retained and autoreleased anymore, so a property returned from a getter
    now needs to be manually retained and autoreleased before calling the
    setter. However, this is rarely the case and not using atomic improves
    performance. (user: js, size: 5221) [annotate] [blame] [check-ins using]


97
98
99
100
101
102
103
104

105
106
107
108
109
110

111
112
113
114
115
116
117
97
98
99
100
101
102
103

104
105
106
107
108
109

110
111
112
113
114
115
116
117







-
+





-
+







 * In case it returned `=`, this contains the long option for which an
 * argument was specified even though the option takes no argument.
 *
 * @warning Unlike @ref lastOption, which returns the short option even if the
 *	    user specified a long option, this only returns the long option if
 *	    it was actually specified as a long option by the user.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy) OFString *lastLongOption;
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *lastLongOption;

/*!
 * The argument for the last parsed option, or `nil` if the last parsed option
 * takes no argument.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy) OFString *argument;
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *argument;

/*!
 * @brief Creates a new OFOptionsParser which accepts the specified options.
 *
 * @param options An array of @ref of_options_parser_option_t specifying all
 *		  accepted options, terminated with an option whose short
 *		  option is `\0` and long option is `nil`.