Module Tjr_btree__Make_6
Most recent interface, this time based on layers
type ('k, 'v, 'r, 't, 'leaf, 'node, 'dnode, 'ls, 'blk, 'wbc) btree_factory
= < leaf_ops : ('k, 'v, 'leaf) Isa_btree.leaf_ops; node_ops : ('k, 'r, 'node) Isa_btree.node_ops; wbc_factory : ('r, 'dnode, 'wbc) Tjr_fs_shared.wbc_factory; dnode_mshlr : Tjr_fs_shared.blk_sz -> ('dnode, 'blk) Tjr_btree.Btree_intf.dnode_mshlr; write_empty_leaf : blk_dev_ops:('r, 'blk, 't) Tjr_fs_shared.blk_dev_ops -> blk_id:'r -> (unit, 't) Tjr_monad.m; make_store_ops : blk_dev_ops:('r, 'blk, 't) Tjr_fs_shared.blk_dev_ops -> blk_alloc:('r, 't) Tjr_fs_shared.blk_allocator_ops -> < uncached_store_ops : ('r, 'dnode, 't) Isa_btree.store_ops; with_wbc : wbc_ops:('r, 'dnode, 'wbc) Tjr_fs_shared.wbc_ops -> with_wbc:('wbc, 't) Tjr_monad.with_state -> < flush_wbc : unit -> (unit, 't) Tjr_monad.m; store_ops_with_wbc : ('r, 'dnode, 't) Isa_btree.store_ops; >; >; pre_btree_ops : ('r, 'dnode, 't) Isa_btree.store_ops -> ('k, 'v, 'r, 't, 'leaf, 'node, 'ls) Isa_btree.pre_btree_ops; map_ops_with_ls : pre_btree_ops:('k, 'v, 'r, 't, 'leaf, 'node, 'ls) Isa_btree.pre_btree_ops -> with_btree_root:('r, 't) Tjr_monad.with_state -> ('k, 'v, 'r, 'ls, 't) Tjr_btree.Btree_intf.map_ops_with_ls; uncached : blk_dev_ops:('r, 'blk, 't) Tjr_fs_shared.blk_dev_ops -> blk_alloc:('r, 't) Tjr_fs_shared.blk_allocator_ops -> btree_root:[ `A of 'r | `B of ('r, 't) Tjr_monad.with_state ] -> < with_state : ('r, 't) Tjr_monad.with_state; get_btree_root : unit -> ('r, 't) Tjr_monad.m; map_ops_with_ls : ('k, 'v, 'r, 'ls, 't) Tjr_btree.Btree_intf.map_ops_with_ls; >; cached : blk_dev_ops:('r, 'blk, 't) Tjr_fs_shared.blk_dev_ops -> blk_alloc:('r, 't) Tjr_fs_shared.blk_allocator_ops -> wbc_params:Tjr_fs_shared.wbc_params -> btree_root:[ `A of 'r | `B of ('r, 't) Tjr_monad.with_state ] -> < get_btree_root : unit -> ('r, 't) Tjr_monad.m; flush_wbc : unit -> (unit, 't) Tjr_monad.m; map_ops_with_ls : ('k, 'v, 'r, 'ls, 't) Tjr_btree.Btree_intf.map_ops_with_ls; >; >
module type S = sig ... end
module type T = sig ... end
module Make_v2 : functor (S : S) -> T with type k = S.k and type v = S.v and type r = S.r and type t = S.t
Make with restricted sig
Examples
module Examples : sig ... end