ConcurrentBigDictSet<'TKey>
A ConcurrentBigDictSet is an alternate implementation of a HashSet. It is implemented as a hashtable with external linking, that uses primes as the table size in order to reduce the danger of funneling.
Constructors
Constructor | Description |
new(dict)
Signature: dict:BigDictSet<'TKey> -> unit
|
A ConcurrentBigDictSet can only be concstructed by wrapping its non-concurrent counterpart. |
Instance members
Instance member | Description |
Add(key)
Signature: key:'TKey -> bool
|
Add the item with the supplied key to the ConcurrentBigDictSet. |
Add(key, hash)
Signature: (key:'TKey * hash:int64) -> bool
|
Add the item with the supplied key to the ConcurrentBigDictSet. |
AddObject(objkey)
Signature: objkey:obj -> bool
|
Add the item with supplied key both supplied as generic objects, to the ConcurrentBigDictSet. Note that the supplied key and value are cast to the concrete type of the keys and values used in the ConcurrentBigDictSet and this will fail if they are of different types. |
AddRange(keys)
Signature: keys:IEnumerable<'TKey> -> unit
|
Add the supplied keys to the ConcurrentBigDictSet. |
Clear()
Signature: unit -> unit
|
Remove all items. Capacity remains unchanged. |
Contains(key)
Signature: key:'TKey -> bool
|
Returns true if the ConcurrentBigDictSet contains the item with the supplied key. |
Contains(key, hash)
Signature: (key:'TKey * hash:int64) -> bool
|
Returns true if the ConcurrentBigDictSet contains the item with the supplied key. |
CopyTo(array, index)
Signature: (array:'TKey [] * index:int64) -> unit
|
Copies all keys in the dictionary to the supplied array starting at the supplied index. This may throw a ConcurrentDataModifiedException if data is modified by another task during the operation. |
LongCount
Signature: int64
|
Returns the number of items currently contained in the ConcurrentBigDictSet as long. |
NonConcurrent
Signature: BigDictSet<'TKey>
|
Return the non-concurrent contained ConcurrentBigDictSet. |
Remove(key)
Signature: key:'TKey -> bool
|
Remove the item with the supplied key from the ConcurrentBigDictSet. Returns true if the value was removed. |
Remove(key, hash)
Signature: (key:'TKey * hash:int64) -> bool
|
Remove the item with the supplied key from the ConcurrentBigDictSet. Returns true if the value was removed. |
ToArray()
Signature: unit -> 'TKey []
|
Returns all keys in the dictionary as an array. This may throw a ConcurrentDataModifiedException if data is modified by another task during the operation. |
TryAdd(key)
Signature: key:'TKey -> bool
|
Add the item with the supplied key to the ConcurrentBigDictSet. |
TryAdd(key, hash)
Signature: (key:'TKey * hash:int64) -> bool
|
Add the item with the supplied key to the ConcurrentBigDictSet. |
TryRemove(key)
Signature: key:'TKey -> bool
|
Try to reomve the item with the supplied key. If multipe entries have the same key, the one that was inserted last is removed. Returns true if the item was found. |
TryRemove(key, hash)
Signature: (key:'TKey * hash:int64) -> bool
|
Try to reomve the item with the supplied key. If multipe entries have the same key, the one that was inserted last is removed. Returns true if the item was found. |