ObjFW  Check-in [ab71981cda]

Overview
Comment:Make OFFastEnumeration part of OFCollection.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: ab71981cda319ec26c4c8e01f87c094c7b3d9e43f1649e3c0055d6ba45c2c835
User & Date: js on 2011-07-19 23:28:58
Other Links: manifest | tags
Context
2011-07-20
16:50
Check for mutations during fast enumeration in OFMutableSet. check-in: dbd145b124 user: js tags: trunk
2011-07-19
23:28
Make OFFastEnumeration part of OFCollection. check-in: ab71981cda user: js tags: trunk
23:04
Add fast enumeration to OFSet. check-in: cbf0b4dd91 user: js tags: trunk
Changes

Modified src/OFArray.h from [80d0f51e0b] to [43f23f91db].

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
typedef id (^of_array_map_block_t)(id object, size_t index);
#endif

/**
 * \brief A class for storing objects in an array.
 */
@interface OFArray: OFObject <OFCopying, OFMutableCopying, OFCollection,
    OFFastEnumeration, OFSerialization>
{
	OFDataArray *array;
}

/**
 * \brief Creates a new OFArray.
 *







|







31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
typedef id (^of_array_map_block_t)(id object, size_t index);
#endif

/**
 * \brief A class for storing objects in an array.
 */
@interface OFArray: OFObject <OFCopying, OFMutableCopying, OFCollection,
    OFSerialization>
{
	OFDataArray *array;
}

/**
 * \brief Creates a new OFArray.
 *

Modified src/OFCollection.h from [5cef34a803] to [bf46b35091].

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 */

#import "OFEnumerator.h"

/**
 * \brief A protocol with methods common for all collections.
 */
@protocol OFCollection <OFEnumerating>
#ifdef OF_HAVE_PROPERTIES
@property (readonly) size_t count;
#endif

/**
 * \brief Returns the number of objects in the collection.
 *







|







15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 */

#import "OFEnumerator.h"

/**
 * \brief A protocol with methods common for all collections.
 */
@protocol OFCollection <OFEnumerating, OFFastEnumeration>
#ifdef OF_HAVE_PROPERTIES
@property (readonly) size_t count;
#endif

/**
 * \brief Returns the number of objects in the collection.
 *

Modified src/OFDictionary.h from [4dadcc19f3] to [cbf0132485].

40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
 * \brief A class for storing objects in a hash table.
 *
 * Note: Fast enumeration on a dictionary enumerates through the keys of the
 * dictionary.
 */
@interface OFDictionary: OFObject <OFCopying, OFMutableCopying, OFCollection,
    OFFastEnumeration, OFSerialization>
{
	struct of_dictionary_bucket **data;
	uint32_t size;
	size_t count;
}

/**







|







40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
 * \brief A class for storing objects in a hash table.
 *
 * Note: Fast enumeration on a dictionary enumerates through the keys of the
 * dictionary.
 */
@interface OFDictionary: OFObject <OFCopying, OFMutableCopying, OFCollection,
    OFSerialization>
{
	struct of_dictionary_bucket **data;
	uint32_t size;
	size_t count;
}

/**

Modified src/OFList.h from [c4c264f1d5] to [7dc972a683].

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
	/// The object for the list object
	id		 object;
};

/**
 * \brief A class which provides easy to use double-linked lists.
 */
@interface OFList: OFObject <OFCopying, OFCollection, OFFastEnumeration,
    OFSerialization>
{
	of_list_object_t *firstListObject;
	of_list_object_t *lastListObject;
	size_t		 count;
	unsigned long	 mutations;
}








|
<







34
35
36
37
38
39
40
41

42
43
44
45
46
47
48
	/// The object for the list object
	id		 object;
};

/**
 * \brief A class which provides easy to use double-linked lists.
 */
@interface OFList: OFObject <OFCopying, OFCollection, OFSerialization>

{
	of_list_object_t *firstListObject;
	of_list_object_t *lastListObject;
	size_t		 count;
	unsigned long	 mutations;
}

Modified src/OFSet.h from [a13751ccb0] to [1df2b6e5f6].

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

@class OFMutableDictionary;
@class OFArray;

/**
 * \brief An unordered set of unique objects.
 */
@interface OFSet: OFObject <OFCollection, OFCopying, OFMutableCopying,
    OFFastEnumeration>
{
	OFMutableDictionary *dictionary;
}

/**
 * \brief Returns a new, autoreleased set.
 *







|
<







21
22
23
24
25
26
27
28

29
30
31
32
33
34
35

@class OFMutableDictionary;
@class OFArray;

/**
 * \brief An unordered set of unique objects.
 */
@interface OFSet: OFObject <OFCollection, OFCopying, OFMutableCopying>

{
	OFMutableDictionary *dictionary;
}

/**
 * \brief Returns a new, autoreleased set.
 *