16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#import "OFObject.h"
#import "OFEnumerator.h"
/*! @file */
/*!
* @brief A struct describing the functions to be used by the map table.
*/
typedef struct of_map_table_functions_t {
/// The function to retain keys / values
void* (*retain)(void *value);
/// The function to release keys / values
void (*release)(void *value);
/// The function to hash keys
uint32_t (*hash)(void *value);
/// The function to compare keys / values
|
>
>
|
|
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#import "OFObject.h"
#import "OFEnumerator.h"
/*! @file */
/*!
* @struct of_map_table_functions_t OFMapTable.h ObjFW/OFMapTable.h
*
* @brief A struct describing the functions to be used by the map table.
*/
typedef struct {
/// The function to retain keys / values
void* (*retain)(void *value);
/// The function to release keys / values
void (*release)(void *value);
/// The function to hash keys
uint32_t (*hash)(void *value);
/// The function to compare keys / values
|
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
*/
typedef void* (^of_map_table_replace_block_t)(void *key, void *value);
#endif
@class OFMapTableEnumerator;
/*!
* @brief A class similar to OFDictionary, but providing more options how keys
* and values should be retained, released, compared and hashed.
*/
@interface OFMapTable: OFObject <OFCopying, OFFastEnumeration>
{
of_map_table_functions_t _keyFunctions, _valueFunctions;
struct of_map_table_bucket **_buckets;
|
>
>
|
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
*/
typedef void* (^of_map_table_replace_block_t)(void *key, void *value);
#endif
@class OFMapTableEnumerator;
/*!
* @class OFMapTable OFMapTable.h ObjFW/OFMapTable.h
*
* @brief A class similar to OFDictionary, but providing more options how keys
* and values should be retained, released, compared and hashed.
*/
@interface OFMapTable: OFObject <OFCopying, OFFastEnumeration>
{
of_map_table_functions_t _keyFunctions, _valueFunctions;
struct of_map_table_bucket **_buckets;
|
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
*
* @return The value functions used by the map table
*/
- (of_map_table_functions_t)valueFunctions;
@end
/*!
* @brief A class which provides methods to enumerate through an OFMapTable's
* keys or values.
*/
@interface OFMapTableEnumerator: OFObject
{
OFMapTable *_mapTable;
struct of_map_table_bucket **_buckets;
|
>
>
|
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
|
*
* @return The value functions used by the map table
*/
- (of_map_table_functions_t)valueFunctions;
@end
/*!
* @class OFMapTableEnumerator OFMapTable.h ObjFW/OFMapTable.h
*
* @brief A class which provides methods to enumerate through an OFMapTable's
* keys or values.
*/
@interface OFMapTableEnumerator: OFObject
{
OFMapTable *_mapTable;
struct of_map_table_bucket **_buckets;
|