Ambient_context
module TLS = Ambient_context_thread_local.Thread_local
module Hmap = Ambient_context_core.Ambient_context_hmap
module Atomic = Ambient_context_atomic.Atomic
include module type of struct include Ambient_context_core.Types end
module Hmap := Ambient_context_core.Ambient_context_hmap
module type STORAGE = Ambient_context_core.Types.STORAGE
type storage = (module STORAGE)
type 'a key = int * 'a Hmap.key
val id : int Atomic.t
val default_storage : Ambient_context_core.Types.storage
val get_current_storage : unit -> Ambient_context_core.Types.storage
val create_key : unit -> int * 'a Ambient_context_core.Ambient_context_hmap.key
val get : (int * 'a Ambient_context_core.Ambient_context_hmap.key) -> 'a option
val with_binding : 'a key -> 'a -> (unit -> 'r) -> 'r
val without_binding :
(int * 'a Ambient_context_core.Ambient_context_hmap.key) ->
(unit -> 'b) ->
'c
val set_storage_provider : Ambient_context_core.Types.storage -> unit