package codex

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

Module Imperative.MakeNodeSource

Create a simple node by wrapping an elt with a pointer

Parameters

Signature

include Parameters.UF_NODE with module Relation = Relation
include Parameters.SIMPLE_GENERIC_ELT
Sourcetype 'a t

The type of elements (nodes) in the union-find structure

Sourceval polyeq : 'a t -> 'b t -> ('a, 'b) PatriciaTree.cmp

polymorphic equality on elements

Sourcemodule Relation = Relation
Sourcetype 'a parent =
  1. | Node : 'b t * ('a, 'b) Relation.t -> 'a parent
  2. | Root
    (*

    The type of parents. A term either points to:

    • a representative via a relation
    • a root if it is a representative
    *)
Sourceval get_parent : 'a t -> 'a parent
Sourceval set_parent : 'a t -> 'a parent -> unit
Sourceval payload : 'a t -> 'a Elt.t

Inspect the payload of a node

Sourceval make_node : 'a Elt.t -> 'a t

Create a new node, in its own class. At most one node should be created per unique element!