30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
+
+
+
+
+
+
+
+
+
|
#endif
/*!
* @class OFMutableDictionary OFDictionary.h ObjFW/OFDictionary.h
*
* @brief An abstract class for storing and changing objects in a dictionary.
*/
#ifdef OF_HAVE_GENERICS
@interface OFMutableDictionary <KeyType, ObjectType>:
OFDictionary <KeyType, ObjectType>
#else
# ifndef DOXYGEN
# define KeyType id
# define ObjectType id
# endif
@interface OFMutableDictionary: OFDictionary
#endif
/*!
* @brief Creates a new OFMutableDictionary with enough memory to hold the
* specified number of objects.
*
* @param capacity The initial capacity for the OFMutableDictionary
* @return A new autoreleased OFMutableDictionary
*/
|
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
|
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
|
-
-
-
-
+
+
+
+
-
+
+
+
+
+
|
* @brief Sets an object for a key.
*
* A key can be any object that conforms to the OFCopying protocol.
*
* @param key The key to set
* @param object The object to set the key to
*/
- (void)setObject: (id)object
forKey: (id)key;
- (void)setObject: (id)object
forKeyedSubscript: (id)key;
- (void)setObject: (ObjectType)object
forKey: (KeyType)key;
- (void)setObject: (ObjectType)object
forKeyedSubscript: (KeyType)key;
/*!
* @brief Removes the object for the specified key from the dictionary.
*
* @param key The key whose object should be removed
*/
- (void)removeObjectForKey: (id)key;
- (void)removeObjectForKey: (KeyType)key;
/*!
* @brief Removes all objects.
*/
- (void)removeAllObjects;
#ifdef OF_HAVE_BLOCKS
/*!
* @brief 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_dictionary_replace_block_t)block;
#endif
/*!
* @brief Converts the mutable dictionary to an immutable dictionary.
*/
- (void)makeImmutable;
@end
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# undef KeyType
# undef ObjectType
#endif
|