package plebeia

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

1 Node traversal tools

List Leaves and Buds reachable from the node. Buds are not scanned recursively.

The result is sorted by the ordering of Segment.t.

val ls_rec : Context.t -> Node_type.node -> (Segment.t list * Node_type.node) list

ls_rec context node lists Leaves recursively reachable from node. node must be either a Leaf or Bud.

The result is sorted by the ordering of Segment.t.

XXX only for test ?

val count_nodes : ?upto:int -> Node_type.node -> [> `EQ of int | `GE of int ]

Count the number of nodes under the given node. If 2 nodes have the same index, they are counted as one. If 2 nodes are not indexed, they are counted as two, even if they are shared in the memory.

val count_cells : ?upto:int -> Context.t -> Node_type.node -> [> `EQ of int | `GE of int ]

Roughly count the cells used for the node and its subnodes. The same physical node on disk is counted only once. Non-indexed nodes shared on memory are counted more than once. Links are not counted, since it is not visible in Node_type.node. The cell counts of big leaves are not very precise, since the structure is not visible in Node_type.node.