Aardvark.Base


FastConcurrentBigDictSetIEq<'TKey>

A FastConcurrentBigDictSetIEq 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

ConstructorDescription
new(hfun)
Signature: hfun:Func<'TKey,int64> -> unit

Create a FastConcurrentBigDictSetIEq that autmatically grows and shrinks as necessary.

new(hfun, initialCapacity)
Signature: (hfun:Func<'TKey,int64> * initialCapacity:int64) -> unit

Create a FastConcurrentBigDictSetIEq that autmatically grows and shrinks as necessary, but also specify an initial capacity.

new(hfun, items)
Signature: (hfun:Func<'TKey,int64> * items:IEnumerable<'TKey>) -> unit

Create a FastConcurrentBigDictSetIEq and initialize it to contain the supplied items.

Instance members

Instance memberDescription
Add(key)
Signature: key:'TKey -> bool
Modifiers: abstract

Add the item with the supplied key to the FastConcurrentBigDictSetIEq.

Add(key, hash)
Signature: (key:'TKey * hash:int64) -> bool

Add the item with the supplied key to the FastConcurrentBigDictSetIEq.

AddObject(objkey)
Signature: objkey:obj -> bool
Modifiers: abstract

Add the item with supplied key both supplied as generic objects, to the FastConcurrentBigDictSetIEq. Note that the supplied key and value are cast to the concrete type of the keys and values used in the FastConcurrentBigDictSetIEq and this will fail if they are of different types.

AddRange(keys)
Signature: keys:IEnumerable<'TKey> -> unit

Add the supplied keys to the FastConcurrentBigDictSetIEq.

Clear()
Signature: unit -> unit
Modifiers: abstract

Remove all items. Capacity remains unchanged.

Contains(key)
Signature: key:'TKey -> bool
Modifiers: abstract

Returns true if the FastConcurrentBigDictSetIEq contains the item with the supplied key.

Contains(key, hash)
Signature: (key:'TKey * hash:int64) -> bool

Returns true if the FastConcurrentBigDictSetIEq 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.

GetEnumerator()
Signature: unit -> IEnumerator<'TKey>
Modifiers: abstract
Items
Signature: IEnumerable<'TKey>
Modifiers: abstract
Keys
Signature: IEnumerable<'TKey>

Returns all keys in the dictionary. This may throw a ConcurrentDataModifiedException if data is modified by another task during the enumeration.

KeyType
Signature: Type
Modifiers: abstract
LongCount
Signature: int64
Modifiers: abstract

Returns the number of items currently contained in the FastConcurrentBigDictSetIEq as long.

MaxFillFactor()
Signature: unit -> unit

Setting the maximal fill factor makes it possible to fine-tune the performance for certain applications. Normally this should not be necessary.

MinFillFactor()
Signature: unit -> unit

Setting the minimal fill factor makes it possible to influence the shrinking behaviour of the FastConcurrentBigDictSetIEq. Normally this should be set to a quater of the maximal fill factor. In order to completely prevent shrinking it can also be set to 0.0f.

Objects
Signature: IEnumerable<obj>
Modifiers: abstract
Remove(key)
Signature: key:'TKey -> bool
Modifiers: abstract

Remove the item with the supplied key from the FastConcurrentBigDictSetIEq. 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 FastConcurrentBigDictSetIEq. 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 FastConcurrentBigDictSetIEq.

TryAdd(key, hash)
Signature: (key:'TKey * hash:int64) -> bool

Add the item with the supplied key to the FastConcurrentBigDictSetIEq.

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.

Fork me on GitHub