40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
};
/*!
* @class OFList OFList.h ObjFW/OFList.h
*
* @brief A class which provides easy to use double-linked lists.
*/
#ifdef OF_HAVE_GENERICS
@interface OFList<ObjectType>:
#else
# ifndef DOXYGEN
# define ObjectType id
# endif
@interface OFList:
#endif
OFObject <OFCopying, OFCollection, OFSerialization>
{
of_list_object_t *_firstListObject;
of_list_object_t *_lastListObject;
size_t _count;
unsigned long _mutations;
}
|
<
|
|
|
|
<
<
<
|
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
};
/*!
* @class OFList OFList.h ObjFW/OFList.h
*
* @brief A class which provides easy to use double-linked lists.
*/
@interface OFList OF_GENERIC(ObjectType): OFObject <OFCopying, OFCollection,
OFSerialization>
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# define ObjectType id
#endif
{
of_list_object_t *_firstListObject;
of_list_object_t *_lastListObject;
size_t _count;
unsigned long _mutations;
}
|
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
*/
- (nullable ObjectType)lastObject;
/*!
* @brief Removes all objects from the list.
*/
- (void)removeAllObjects;
@end
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# undef ObjectType
#endif
@interface OFListEnumerator: OFEnumerator
{
OFList *_list;
of_list_object_t *_current;
unsigned long _mutations;
unsigned long *_mutationsPtr;
|
<
>
|
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
*/
- (nullable ObjectType)lastObject;
/*!
* @brief Removes all objects from the list.
*/
- (void)removeAllObjects;
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# undef ObjectType
#endif
@end
@interface OFListEnumerator: OFEnumerator
{
OFList *_list;
of_list_object_t *_current;
unsigned long _mutations;
unsigned long *_mutationsPtr;
|