[Home] Type Microsoft.FSharp.Compatibility.OCaml.Hashtbl.Provider


A collection of operations for creating and using hash tables based on particular type-tracked hash/equality functions. Generated by the Hashtbl.Make and Hashtbl.MakeTagged functors. This type is for use when you wish to specify a comparison function once and carry around an object that is a provider of (i.e. a factory for) hashtables that utilize that comparison function. The 'tag' type parameter is used to track information about the comparison function, which helps ensure that you don't mixup maps created with different comparison functions

Full Type Signature

type Provider<'key,'a,'tag when 'tag :> IEqualityComparer<'key>> =
  {create: int -> HashMultiMap<'key,'a,'tag>;
   clear: HashMultiMap<'key,'a,'tag> -> unit;
   add: HashMultiMap<'key,'a,'tag> -> 'key -> 'a -> unit;
   copy: HashMultiMap<'key,'a,'tag> -> HashMultiMap<'key,'a,'tag>;
   find: HashMultiMap<'key,'a,'tag> -> 'key -> 'a;
   find_all: HashMultiMap<'key,'a,'tag> -> 'key -> 'a list;
   tryfind: HashMultiMap<'key,'a,'tag> -> 'key -> 'a option;
   mem: HashMultiMap<'key,'a,'tag> -> 'key -> bool;
   remove: HashMultiMap<'key,'a,'tag> -> 'key -> unit;
   replace: HashMultiMap<'key,'a,'tag> -> 'key -> 'a -> unit;
   iter: ('key -> 'a -> unit) -> HashMultiMap<'key,'a,'tag> -> unit;
   fold: 'c. ('key -> 'a -> 'c -> 'c) -> HashMultiMap<'key,'a,'tag> -> 'c -> 'c;
   stats: string -> (out_channel -> 'key -> unit) -> out_channel -> unit;}

See Also

Microsoft.FSharp.Compatibility.OCaml.Hashtbl


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