[Home] Type Microsoft.FSharp.Collections.Tagged.HashMultiMap


HashMultiMap, but where a constraint tag tracks information about the hash/equality functions used for the hashing. When the tag is Tags.StructuralHash this is identical to HashMultiMap.

Full Type Signature

type HashMultiMap<'key,'a,'hashTag when 'hashTag :> IEqualityComparer<'key>>
  with
    member Add : 'key * 'a -> unit
    member Clear : unit -> unit
    member Contains : 'key -> bool
    member Copy : unit -> HashMultiMap<'key,'a,'hashTag>
    static member Create : 'hashTag * HashStats * int -> HashMultiMap<'key,'a,'hashTag>
    static member Create : 'hashTag * int -> HashMultiMap<'key,'a,'hashTag>
    [<Obsolete ("Consider using hashTable.[key] instead")>]
    member Find : 'key -> 'a
    member FindAll : 'key -> 'a list
    member Fold : ('key -> 'a -> 'c -> 'c) -> ('c -> 'c)
    [<Obsolete ("GetLongestChain is deprecated. It will return the empty list")>]
    member GetLongestChain : unit -> ('key * 'a) list
    member Iterate : ('key -> 'a -> unit) -> unit
    member Remove : 'key -> unit
    member Replace : 'key * 'a -> unit
    member TryFind : 'key -> 'a option
    member Count : int
    member Item : 'key -> 'a with get
    member Item : 'key -> 'a with set
  end

Instance Members

MemberDescription
member Add : 'key * 'a -> unit
Add a binding for the element to the table
member Clear : unit -> unit
Clear all elements from the collection
member Contains : 'key -> bool
Test if the collection contains any bindings for the given element
member Copy : unit -> HashMultiMap<'key,'a,'hashTag>
Make a shallow copy of the collection
member Count : int
The number of bindings in the hash table
member FindAll : 'key -> 'a list
Find all bindings for the given element in the table, if any
member Fold : ('key -> 'a -> 'c -> 'c) -> ('c -> 'c)
Apply the given function to each element in the collection threading the accumulating parameter through the sequence of function applications
member Item : 'key -> 'a with get
Lookup or set the given element in the table. Raise [[Not_found]]/[[KeyNotFoundException]] if the element is not found.
member Item : 'key -> 'a with set
Lookup or set the given element in the table. Raise [[Not_found]]/[[KeyNotFoundException]] if the element is not found.
member Iterate : ('key -> 'a -> unit) -> unit
Apply the given function to each binding in the hash table
member Remove : 'key -> unit
Remove the latest binding (if any) for the given element from the table
member Replace : 'key * 'a -> unit
Replace the latest binding (if any) for the given element.
member TryFind : 'key -> 'a option
Lookup the given element in the table, returning the result as an Option

Static Members

MemberDescription
member Create : 'hashTag * HashStats * int -> HashMultiMap<'key,'a,'hashTag>
Create a new empty mutable hash table with an internal bucket array of the given approximate size and with the given key hash/equality functions
member Create : 'hashTag * int -> HashMultiMap<'key,'a,'hashTag>
Create a new empty mutable hash table with an internal bucket array of the given approximate size and with the given key hash/equality functions

Deprecated Members

MemberDescription
[<Obsolete ("Consider using hashTable.[key] instead")>]
member Find : 'key -> 'a

Note: Consider using hashTable.[key] instead

[<Obsolete ("GetLongestChain is deprecated. It will return the empty list")>]
member GetLongestChain : unit -> ('key * 'a) list

Note: GetLongestChain is deprecated. It will return the empty list

Get the longest chain in the hash table as a list. Use for debugging poorly performing hash functions

See Also

Microsoft.FSharp.Collections.Tagged


Documentation for assembly FSharp.Core, version 1.9.4.19, generated using F# version 1.9.4.19