package diffast-core

  1. Overview
  2. Docs
constraint 'a = < acc : ?from: Diffast_core.Delta_common.SB.node_data_t_shared as 'b Diffast_core.Delta_common.node_t -> Diffast_core.Delta_base.Path.t -> 'b Diffast_core.Delta_common.node_t ; initial_acc : ?from:'b Diffast_core.Delta_common.node_t -> Diffast_core.Delta_base.Path.t -> 'b Diffast_core.Delta_common.node_t ; initial_acc_parent : ?ignore_ofs:bool -> ?from:'b Diffast_core.Delta_common.node_t -> Diffast_core.Delta_base.Path.t -> 'b Diffast_core.Delta_common.node_t Diffast_core.Delta_common.Otree.acc_result ; initial_to_string : string ; make_subtree_copy : ?find_hook: ('b Diffast_core.Delta_common.node_t -> 'b Diffast_core.Delta_common.node_t -> unit) -> 'b Diffast_core.Delta_common.node_t -> 'a ; mutate : (Diffast_core.Delta_common.UID.t, 'b Diffast_core.Delta_common.node_t Diffast_core.Delta_common.Otree.cluster_mutation list) Hashtbl.t -> 'b Diffast_core.Delta_common.node_t Diffast_core.Delta_base.Xset.t ; preorder_scan_all : (< data : 'b.. > -> unit) -> 'c ; prune_initial_nodes : 'b Diffast_core.Delta_common.node_t list -> 'd ; rev_scan_whole_initial_subtree : 'b Diffast_core.Delta_common.node_t -> ('e -> unit) -> 'f ; root : 'b Diffast_core.Delta_common.node_t ; scan_whole_initial : ('b Diffast_core.Delta_common.node_t -> unit) -> 'g ; search_node_by_uid : Diffast_core.Delta_common.UID.t -> 'b Diffast_core.Delta_common.node_t ; setup_apath : 'h ; size_of_initial_cluster : ('b Diffast_core.Delta_common.node_t * 'i list) -> int ; to_dot_initial : ?mklab:('b Diffast_core.Delta_common.node_t -> string) -> 'j list -> Buffer.t.. >
val mutable dup_list : Diffast_core.Delta_base.subtree_key list
val copied_subtree_tbl : (Diffast_core.Delta_common.MID.t, 'a) Hashtbl.t
val copied_subtree_sz_tbl : (Diffast_core.Delta_common.MID.t, int) Hashtbl.t
val upstream_node_tbl : ('b Diffast_core.Delta_common.node_t, int) Hashtbl.t
val quasi_upstream_node_tbl : ('b Diffast_core.Delta_common.node_t, int) Hashtbl.t
val parent_resolver_tbl : ('b Diffast_core.Delta_common.node_t, unit -> 'b Diffast_core.Delta_common.node_t * int * float) Hashtbl.t
val lift_point_tbl : ('b Diffast_core.Delta_common.node_t, (int, float) Hashtbl.t) Hashtbl.t
val immediately_pruned_nodes : 'k Diffast_core.Delta_base.Xset.t
val mutable deferred_relabel_list : (unit -> unit) list
val pos_shift_tbl : ('b Diffast_core.Delta_common.node_t, int) Hashtbl.t
val path_depth_tbl : ('b Diffast_core.Delta_common.node_t, int) Hashtbl.t
method add_deferred_relabel : (unit -> unit) -> unit
method add_move_relabel : 'b Diffast_core.Delta_common.node_t -> ('b Diffast_core.Delta_common.node_t -> unit) -> unit
method do_deferred_relabels : unit -> unit
method private reg_pos_shift : 'b Diffast_core.Delta_common.node_t -> int -> unit
method private is_staying_move : Diffast_core.Delta_base.MID.t -> bool
method private is_junc_node : 'b Diffast_core.Delta_common.node_t -> bool
method private force_upstream : ?key_opt: Diffast_core.Delta_base.subtree_key option -> 'b Diffast_core.Delta_common.node_t -> unit
method private unforce_upstream : 'b Diffast_core.Delta_common.node_t -> unit
method private set_upstream_dest : 'b Diffast_core.Delta_common.node_t -> Diffast_core.Delta_base.subtree_key -> unit
method private is_forced_upstream : 'b Diffast_core.Delta_common.node_t -> bool
method private has_deleted_mems : 'b Diffast_core.Delta_common.node_t -> bool
method private is_deleted : 'b Diffast_core.Delta_common.node_t -> bool
method private _find_key_of_deleted : 'b Diffast_core.Delta_common.node_t -> Diffast_core.Delta_base.subtree_key
method private _find_key_opt_of_deleted : 'b Diffast_core.Delta_common.node_t -> Diffast_core.Delta_base.subtree_key option
method find_key_opt_of_deleted : 'b Diffast_core.Delta_common.node_t -> Diffast_core.Delta_base.subtree_key option
method private is_stable : 'b Diffast_core.Delta_common.node_t -> bool
method private remove_key : 'b Diffast_core.Delta_common.node_t -> unit
method private is_insert : 'b Diffast_core.Delta_common.node_t -> bool
method private find_parent_key_opt : 'b Diffast_core.Delta_common.node_t -> Diffast_core.Delta_base.subtree_key option
method private has_parent_key_stable : 'b Diffast_core.Delta_common.node_t -> bool
method private has_parent_key : 'b Diffast_core.Delta_common.node_t -> bool
method private find_parent : 'b Diffast_core.Delta_common.node_t -> 'b Diffast_core.Delta_common.node_t * int * float
method private has_parent : 'b Diffast_core.Delta_common.node_t -> bool
method private add_to_parent_tbl : 'b Diffast_core.Delta_common.node_t -> ('b Diffast_core.Delta_common.node_t * int * float) -> unit
method private register_parent_resolver : 'b Diffast_core.Delta_common.node_t -> (unit -> 'b Diffast_core.Delta_common.node_t * int * float) -> unit
method private remove_from_parent_tbl : 'b Diffast_core.Delta_common.node_t -> unit
method private remove_from_parent_key_tbl : 'b Diffast_core.Delta_common.node_t -> unit
method private reg_extra_upstream_root : 'b Diffast_core.Delta_common.node_t -> unit
method private is_extra_upstream_root : 'b Diffast_core.Delta_common.node_t -> bool
method private reg_root_of_upstream_staying_move : 'b Diffast_core.Delta_common.node_t -> unit
method private unreg_root_of_upstream_staying_move : 'b Diffast_core.Delta_common.node_t -> unit
method private is_root_of_upstream_staying_move : 'b Diffast_core.Delta_common.node_t -> bool
method private reg_upstream_node : 'b Diffast_core.Delta_common.node_t -> int -> unit
method private reg_quasi_upstream_node : 'b Diffast_core.Delta_common.node_t -> int -> unit
method private get_upstream_count : 'b Diffast_core.Delta_common.node_t -> int
method private get_quasi_upstream_count : 'b Diffast_core.Delta_common.node_t -> int
method private has_key_opt : Diffast_core.Delta_base.subtree_key option -> 'b Diffast_core.Delta_common.node_t -> bool
method private is_upstream_node : 'b Diffast_core.Delta_common.node_t -> bool
method private mark_key : Diffast_core.Delta_base.subtree_key -> unit
method private is_marked_key : Diffast_core.Delta_base.subtree_key -> bool
method private set_mask : Diffast_core.Delta_base.subtree_key -> int -> int Diffast_core.Delta_base.Xset.t -> unit
method find_subtree : Diffast_core.Delta_base.subtree_key -> 'a
method find_copied_subtree_size : Diffast_core.Delta_base.subtree_key -> int
method private compare_nodes : ?get_idx_opt: ('b Diffast_core.Delta_common.node_t -> float option * float option) option -> 'b Diffast_core.Delta_common.node_t -> 'b Diffast_core.Delta_common.node_t -> int
method private sort_op_tbl : ?get_idx_opt: ('b Diffast_core.Delta_common.node_t -> float option * float option) option -> unit -> unit
method private get_nodes_from_uid : Diffast_core.Delta_common.UID.t -> 'b Diffast_core.Delta_common.node_t list
method private setup_pos_trans_tbl : unit -> unit
method private check_pos_trans_tbl : unit -> unit
method private translate_positions : unit -> unit
method private _mutate : ?get_idx_opt: ('b Diffast_core.Delta_common.node_t -> float option * float option) option -> ?overwrite:bool -> 'b Diffast_core.Delta_common.node_t Diffast_core.Delta_base.Xset.t -> unit
method private detect_loop : unit -> 'f
method dump_dot_ch : out_channel -> unit
method dump_dot : string -> unit
method mutate : unit -> unit
method reg_subtree : ?key_opt:Diffast_core.Delta_base.subtree_key option -> ?adj_opt:int option -> ?depth_opt:int option -> ?shift_opt:int option -> ?dup:bool -> Diffast_core.Delta_base.subtree_id -> 'a -> Diffast_core.Delta_base.path_c -> Diffast_core.Delta_base.boundary -> unit
method reg_moved_subtree : ?key_opt:Diffast_core.Delta_base.subtree_key option -> ?adj_opt:int option -> ?depth_opt:int option -> ?shift_opt:int option -> ?dup:bool -> Diffast_core.Delta_base.MID.t -> Diffast_core.Delta_base.path_c -> Diffast_core.Delta_base.boundary -> Diffast_core.Delta_base.path_c -> Diffast_core.Delta_base.boundary -> unit
method has_p_descendant : ?moveon:('b Diffast_core.Delta_common.node_t -> bool) -> ('b Diffast_core.Delta_common.node_t -> bool) -> 'b Diffast_core.Delta_common.node_t -> bool
method has_stable_descendant : 'b Diffast_core.Delta_common.node_t -> bool
method private _check_key : Diffast_core.Delta_base.subtree_key -> bool
method is_true_stable_node : ?weak:bool -> 'b Diffast_core.Delta_common.node_t -> bool
method has_true_stable_descendant : ?weak:bool -> 'b Diffast_core.Delta_common.node_t -> bool
method has_stable_or_inserted_descendant : 'b Diffast_core.Delta_common.node_t -> bool
method make_frontier_tbl : unit -> unit
method insert_cluster : ?partial:bool -> 'b Diffast_core.Delta_common.node_t -> int -> float -> 'b Diffast_core.Delta_common.node_t -> ('b Diffast_core.Delta_common.node_t * Diffast_misc.Path.Elem.t) list -> unit
method _prune_cluster : 'b Diffast_core.Delta_common.node_t -> int -> 'b Diffast_core.Delta_common.node_t list -> unit
method prune_cluster : 'b Diffast_core.Delta_common.SB.Otree.node2 -> int -> 'b Diffast_core.Delta_common.node_t list -> unit
method insert_into_subtree : ?adj:int -> ?shift:int -> Diffast_core.Delta_base.path_c -> int -> 'a -> 'a -> ('b Diffast_core.Delta_common.node_t * Diffast_misc.Path.Elem.t) list -> unit
method shift_positions : unit -> unit
method interpret_insert : Diffast_core.Delta_base.subtree_key -> 'a -> Diffast_core.Delta_base.path_c -> Diffast_core.Delta_base.boundary -> Diffast_core.Delta_base.subtree_key option -> int option -> int option -> int option -> unit
method interpret_change_attr : ?mctl:Diffast_core.Delta_base.move_control -> Diffast_core.Delta_base.path_c -> string -> string -> unit
method interpret_delete_attr : ?mctl:Diffast_core.Delta_base.move_control -> Diffast_core.Delta_base.path_c -> string -> unit
method interpret_insert_attr : ?mctl:Diffast_core.Delta_base.move_control -> Diffast_core.Delta_base.path_c -> string -> string -> unit
method private is_edited_node : 'b Diffast_core.Delta_common.node_t -> bool
method check_potential_duplicate : unit -> unit
OCaml

Innovation. Community. Security.