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) 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) 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) 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) Btree_intf.map_ops_with_ls; >; >
module type S = sig ... end
module type T = sig ... end
module Make_v1 : functor (S : S) -> sig ... end

Make with unrestricted sig

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