1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/*
* Copyright (c) 2008 - 2009
* Jonathan Schleifer <js@webkeks.org>
*
* All rights reserved.
*
* This file is part of libobjfw. It may be distributed under the terms of the
* Q Public License 1.0, which can be found in the file LICENSE included in
* the packaging of this file.
*/
#import "OFObject.h"
#import "OFList.h"
/**
* The OFDictionary class provides a class for using hash tables.
*/
|
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/*
* Copyright (c) 2008 - 2009
* Jonathan Schleifer <js@webkeks.org>
*
* All rights reserved.
*
* This file is part of libobjfw. It may be distributed under the terms of the
* Q Public License 1.0, which can be found in the file LICENSE included in
* the packaging of this file.
*/
#include <stdarg.h>
#import "OFObject.h"
#import "OFList.h"
/**
* The OFDictionary class provides a class for using hash tables.
*/
|
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
|
* Creates a new OFDictionary with a hash of N bits.
*
* \param bits The size of the hash to use
* \return A new autoreleased OFDictionary
*/
+ dictionaryWithHashSize: (int)hashsize;
/**
* Initializes an already allocated OFDictionary, defaulting to a 12 bit hash.
*
* \return An initialized OFDictionary
*/
- init;
/**
* Initializes an already allocated OFDictionary with a hash of N bits.
*
* \param bits The size of the hash to use
* \return An initialized OFDictionary
*/
- initWithHashSize: (int)hashsize;
/**
* \return The average number of items in a used bucket. Buckets that are
* completely empty are not in the calculation. If this value is >= 2.0,
* you should resize the dictionary, in most cases even earlier!
*/
- (float)averageItemsPerBucket;
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
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
|
* Creates a new OFDictionary with a hash of N bits.
*
* \param bits The size of the hash to use
* \return A new autoreleased OFDictionary
*/
+ dictionaryWithHashSize: (int)hashsize;
/**
* Creates a new OFDictionary with the specified objects.
*
* \param first The first key
* \return A new autoreleased OFDictionary
*/
+ dictionaryWithKeysAndObjects: (OFObject <OFCopying>*)first, ...;
/**
* Initializes an already allocated OFDictionary, defaulting to a 12 bit hash.
*
* \return An initialized OFDictionary
*/
- init;
/**
* Initializes an already allocated OFDictionary with a hash of N bits.
*
* \param bits The size of the hash to use
* \return An initialized OFDictionary
*/
- initWithHashSize: (int)hashsize;
/**
* Initialized an already allocated OFDictionary with the specified objects.
*
* \param first The first key
* \return A new initialized OFDictionary
*/
- initWithKeysAndObjects: (OFObject <OFCopying>*)first, ...;
/**
* Initialized an already allocated OFDictionary with the specified objects.
*
* \param first The first key
* \return A new initialized OFDictionary
*/
- initWithKey: (OFObject <OFCopying>*)first
andArgList: (va_list)args;
/**
* \return The average number of items in a used bucket. Buckets that are
* completely empty are not in the calculation. If this value is >= 2.0,
* you should resize the dictionary, in most cases even earlier!
*/
- (float)averageItemsPerBucket;
|