ObjFW  Diff

Differences From Artifact [8c6d38e392]:

To Artifact [1c792f75c6]:


27
28
29
30
31
32
33
34

35
36

37
38
39
40
41

42
43
44

45
46
47
48
49
50
51
52


53
54
55


56
57
58
59
60
61

62
63
64

65
66
67
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
96
97
98
99
100

101
102

103
104
105
106
107
108
109
110

111
112
113
114
115
116
117
118
119
120
121
27
28
29
30
31
32
33

34
35

36
37
38
39
40

41
42
43

44
45
46
47
48
49
50


51
52
53


54
55
56
57
58
59
60

61
62
63

64
65
66
67
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
96
97
98
99

100
101

102
103
104
105
106
107
108
109

110
111
112
113
114
115
116
117
118
119
120
121







-
+

-
+




-
+


-
+






-
-
+
+

-
-
+
+





-
+


-
+





-
-
+
+

-
-
+
+




-
+

-
+




-
+

-
+











-
+

-
+







-
+











{
	unsigned long mutations;
}

/**
 * Adds an object to the OFArray.
 *
 * \param obj An object to add
 * \param object An object to add
 */
- (void)addObject: (id)obj;
- (void)addObject: (id)object;

/**
 * Adds an object to the OFArray at the specified index.
 *
 * \param obj An object to add
 * \param object An object to add
 * \param index The index where the object should be added
 */
- (void)addObject: (id)obj
- (void)addObject: (id)object
	  atIndex: (size_t)index;

/**
 * Replaces the first object equivalent to the first specified object with the
 * second specified object.
 *
 * \param old The object to replace
 * \param new_ The replacement object
 * \param oldObject The object to replace
 * \param newObject The replacement object
 */
- (void)replaceObject: (id)old
	   withObject: (id)new_;
- (void)replaceObject: (id)oldObject
	   withObject: (id)newObject;

/**
 * Replaces the object at the specified index with the specified object.
 *
 * \param index The index of the object to replace
 * \param obj The replacement object
 * \param object The replacement object
 */
- (void)replaceObjectAtIndex: (size_t)index
		  withObject: (id)obj;
		  withObject: (id)object;

/**
 * Replaces the first object that has the same address as the first specified
 * object with the second specified object.
 *
 * \param old The object to replace
 * \param new_ The replacement object
 * \param oldObject The object to replace
 * \param newObject The replacement object
 */
- (void)replaceObjectIdenticalTo: (id)old
		      withObject: (id)new_;
- (void)replaceObjectIdenticalTo: (id)oldObject
		      withObject: (id)newObject;

/**
 * Removes the first object equivalent to the specified object.
 *
 * \param obj The object to remove
 * \param object The object to remove
 */
- (void)removeObject: (id)obj;
- (void)removeObject: (id)object;

/**
 * Removes the first object that has the same address as the specified object.
 *
 * \param obj The object to remove
 * \param object The object to remove
 */
- (void)removeObjectIdenticalTo: (id)obj;
- (void)removeObjectIdenticalTo: (id)object;

/**
 * Removes the object at the specified index.
 *
 * \param index The index of the object to remove
 */
- (void)removeObjectAtIndex: (size_t)index;

/**
 * Removes the specified amount of objects from the end of the OFArray.
 *
 * \param nobjects The number of objects to remove
 * \param nObjects The number of objects to remove
 */
- (void)removeNObjects: (size_t)nobjects;
- (void)removeNObjects: (size_t)nObjects;

/**
 * Removes the specified amount of objects at the specified index.
 *
 * \param nobjects The number of objects to remove
 * \param index The index at which the objects are removed
 */
- (void)removeNObjects: (size_t)nobjects
- (void)removeNObjects: (size_t)nObjects
	       atIndex: (size_t)index;

#ifdef OF_HAVE_BLOCKS
/**
 * Replaces each object with the object returned by the block.
 *
 * \param block The block which returns a new object for each object
 */
- (void)replaceObjectsUsingBlock: (of_array_replace_block_t)block;
#endif
@end