Module Kv_hash__Nv_map_ii.Make_1
Parameters
Raw_bucket : Kv_hash.Bucket_intf.BUCKETBucket_store : Kv_hash.Bucket_store_intf.BUCKET_STORE with type raw_bucket = Raw_bucket.t
Signature
type raw_bucket= Bucket_store.raw_buckettype k= inttype v= int
val initial_partitioning : alloc:(unit -> Partition_.r) -> n:int -> Partition_.tCreate an initial n-way partition, with values provided by alloc
type t={bucket_store : Bucket_store.t;mutable freelist : Kv_hash.Freelist.t;mutable partition : Partition_.t;}
val alloc : t -> intval create_p : buckets_fn:string -> partition:Partition_.t -> min_free_blk:int -> tval create_n : buckets_fn:string -> n:int -> tval create : buckets_fn:string -> tval close : t -> unitval open_ : fn:'a -> n:'b -> 'cval find_bucket : t -> Partition_.k -> Partition_.k * Partition_.r * Bucket_store.bucket
Public interface: insert, find (FIXME delete)
val insert : t -> Partition_.k -> int -> unitNOTE the insert function is only called in the merge process
val find_opt : t -> Partition_.k -> int optionval get_freelist : t -> Kv_hash.Freelist.t
Debugging
val export : t -> Kv_hash.Nv_map_ii_intf.export_tval show : t -> unitval get_partition : t -> Partition_.tval show_bucket : t -> Partition_.k -> unitval get_bucket : t -> Partition_.k -> Bucket_store.raw_bucket