Up

Module Node

Signature

module Packed : sig .. end
type 'a t = 'a Types.Node.t = {
id
: Node_id.t ;
mutable recomputed_at
: Stabilization_num.t ;
mutable value_opt
: 'a Uopt.t ;
mutable kind
: 'a Types.Kind.t ;
mutable cutoff
: 'a Cutoff.t ;
mutable changed_at
: Stabilization_num.t ;
mutable num_on_update_handlers
: int ;
mutable num_parents
: int ;
mutable parent1_and_beyond
: Types.Packed_node.t Uopt.t array ;
mutable parent0
: Types.Packed_node.t Uopt.t ;
mutable created_in
: Types.Scope.t ;
mutable next_node_in_same_scope
: Types.Packed_node.t Uopt.t ;
mutable height
: int ;
mutable height_in_recompute_heap
: int ;
mutable prev_in_recompute_heap
: Types.Packed_node.t Uopt.t ;
mutable next_in_recompute_heap
: Types.Packed_node.t Uopt.t ;
mutable height_in_adjust_heights_heap
: int ;
mutable next_in_adjust_heights_heap
: Types.Packed_node.t Uopt.t ;
mutable old_value_opt
: 'a Uopt.t ;
mutable observers
: 'a Types.Internal_observer.t Uopt.t ;
mutable is_in_handle_after_stabilization
: bool ;
mutable on_update_handlers
: 'a On_update_handler.t list ;
mutable my_parent_index_in_child_at_index
: int array ;
mutable my_child_index_in_parent_at_index
: int array ;
mutable force_necessary
: bool ;
mutable user_info
: Core_kernel.Std.Info.t option ;
creation_backtrace
: Core_kernel.Std.Backtrace.t option ;
}
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
val create : Scope.t -> 'a Kind.t -> 'a t
val set_kind : 'a t -> 'a Kind.t -> unit
val pack : 'a t -> Packed.t
val same : 'a t -> 'b t -> bool
val iteri_children : 'a t -> f:(int -> Packed.t -> unit) -> unit
val get_parent : 'a t -> index:int -> Packed.t
val add_parent : child:'a t -> parent:'b t -> child_index:int -> unit
val remove_parent : child:'a t -> parent:'b t -> child_index:int -> unit
val is_const : 'a t -> bool
val is_in_recompute_heap : 'a t -> bool
val is_necessary : 'a t -> bool
val is_valid : 'a t -> bool
val should_be_invalidated : 'a t -> bool
val edge_is_stale : child:'a t -> parent:'b t -> bool
val is_stale : 'a t -> bool
val needs_to_be_computed : 'a t -> bool
val value_exn : 'a t -> 'a
val unsafe_value : 'a t -> 'a
val get_cutoff : 'a t -> 'a Cutoff.t
val set_cutoff : 'a t -> 'a Cutoff.t -> unit
val on_update : 'a t -> 'a On_update_handler.t -> unit
val run_on_update_handlers : 'a t -> 'a On_update_handler.Node_update.t -> now:Stabilization_num.t -> unit
val keep_node_creation_backtrace : bool Core_kernel.Std.ref
val user_info : 'a t -> Core_kernel.Std.Info.t option
val set_user_info : 'a t -> Core_kernel.Std.Info.t option -> unit