ObjFW  Diff

Differences From Artifact [c32fd13d67]:

To Artifact [4d47514ce0]:


9
10
11
12
13
14
15

16
17
18
19
20
21
22

23
24

25
26

27
28
29


30
31
32
33
34
35
36
9
10
11
12
13
14
15
16
17
18
19
20
21
22

23
24

25
26

27
28


29
30
31
32
33
34
35
36
37







+






-
+

-
+

-
+

-
-
+
+







 * the packaging of this file.
 */

#import "OFObject.h"
#import "OFCollection.h"
#import "OFEnumerator.h"

typedef struct of_list_object_t of_list_object_t;
/**
 * \brief A list object.
 *
 * A struct that contains a pointer to the next list object, the previous list
 * object and the object.
 */
typedef struct __of_list_object {
struct of_list_object_t {
	/// A pointer to the next list object in the list
	struct __of_list_object *next;
	of_list_object_t *next;
	/// A pointer to the previous list object in the list
	struct __of_list_object *prev;
	of_list_object_t *prev;
	/// The object for the list object
	id			object;
} of_list_object_t;
	id		 object;
};

/**
 * \brief A class which provides easy to use double-linked lists.
 */
@interface OFList: OFObject <OFCopying, OFCollection, OFFastEnumeration>
{
	of_list_object_t *firstListObject;
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
108
109
110
111
112
113
114

115
116
117
118
119
120
121
122
123
124
125








-











-
 * Removes the object with the specified list object from the list.
 *
 * \param listobj The list object returned by append / prepend
 */
- (void)removeListObject: (of_list_object_t*)listobj;
@end

/// \cond internal
@interface OFListEnumerator: OFEnumerator
{
	of_list_object_t *first;
	of_list_object_t *current;
	unsigned long	 mutations;
	unsigned long	 *mutationsPtr;
}

- initWithFirstListObject: (of_list_object_t*)first
	 mutationsPointer: (unsigned long*)mutations_ptr;
@end
/// \endcond