Module Tezos_raw_protocol_alpha.Carbonated_map

An in-memory data-structure for a key-value map where all operations account for gas costs.

module type S = sig ... end
module type GAS = sig ... end

This module is used to provide the function for consuming gas when constructing carbonated maps.

module type COMPARABLE = sig ... end

Standard Compare.COMPARE extended with a compare_cost function specifying the cost for comparing values.

module Make_builder (C : COMPARABLE) : sig ... end

A functor for exposing the type of a carbonated map before the carbonated make is created. This is useful in scenarios where the map that will need to be carbonated is defined before the gas consuming functions for the carbonation are available. See for example Raw_context.

module Make (G : GAS) (C : COMPARABLE) : S with type key = C.t and type context = G.context

A functor for building gas metered maps. When building a gas metered map via Make(G)(C), C is a COMPARABLE required to construct a the map while G is a module providing the gas consuming functions. The type of the context on which the gas consuming function operates is determined by G.context.