package tezos-context
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=296bb5674bc6050afe6330326fbdd0dfc2255d414bfd6b79cc7666ac6b39316d
sha512=c061cd300a9410300851158d77bf8e56ca3c568b0b1161b38305e5b2efdcd9c746d391f832fdb2826f9a1d6babce10a9b764a4b04f5df42699f7314b9863123a
doc/tezos-context.memory/Tezos_context_memory/Context/Tree/index.html
Module Context.TreeSource
include Tezos_context_sigs.Context.TREE
with type t := t
and type key := key
and type value := value
and type tree := tree
include Tezos_context_sigs.Context.VIEW
with type t := tree
and type tree := tree
with type key := key
with type value := value
Getters
mem t k is an Lwt promise that resolves to true iff k is bound to a value in t.
find t k is an Lwt promise that resolves to Some v if k is bound to the value v in t and None otherwise.
list t key is the list of files and sub-nodes stored under k in t. The result order is not specified but is stable.
offset and length are used for pagination.
Setters
add t k v is an Lwt promise that resolves to c such that:
kis bound tovinc;- and
cis similar tototherwise.
If k was already bound in t to a value that is physically equal to v, the result of the function is a promise that resolves to t. Otherwise, the previous binding of k in t disappears.
remove t k v is an Lwt promise that resolves to c such that:
kis unbound inc;- and
cis similar tototherwise.
Folding
val fold :
?depth:Tezos_context_sigs.Context.depth ->
tree ->
key ->
order:[ `Sorted | `Undefined ] ->
init:'a ->
f:(key -> tree -> 'a -> 'a Lwt.t) ->
'a Lwt.tfold ?depth t root ~order ~init ~f recursively folds over the trees and values of t. The f callbacks are called with a key relative to root. f is never called with an empty key for values; i.e., folding over a value is a no-op.
The depth is 0-indexed. If depth is set (by default it is not), then f is only called when the conditions described by the parameter is true:
Eq dfolds over nodes and contents of depth exactlyd.Lt dfolds over nodes and contents of depth strictly less thand.Le dfolds over nodes and contents of depth less than or equal tod.Gt dfolds over nodes and contents of depth strictly more thand.Ge dfolds over nodes and contents of depth more than or equal tod.
If order is `Sorted (the default), the elements are traversed in lexicographic order of their keys. For large nodes, it is memory-consuming, use `Undefined for a more memory efficient fold.
kind t is t's kind. It's either a tree node or a leaf value.
to_value t is an Lwt promise that resolves to Some v if t is a leaf tree and None otherwise. It is equivalent to find t [].
of_value _ v is an Lwt promise that resolves to the leaf tree v. Is is equivalent to add (empty _) [] v.
Caches
val clear : ?depth:int -> tree -> unitclear ?depth t clears all caches in the tree t for subtrees with a depth higher than depth. If depth is not set, all of the subtrees are cleared.
pp is the pretty-printer for trees.
Data Encoding
The type for in-memory, raw contexts.
raw_encoding is the data encoding for raw trees.
to_raw t is an Lwt promise that resolves to a raw tree equivalent to t.
type kinded_hash := [ | `Contents of Tezos_base__TzPervasives.Context_hash.t| `Node of Tezos_base__TzPervasives.Context_hash.t
]The type of tree for which to build a shallow tree with shallow