package binsec

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

an ordered list from which we can push and pop at both sides

val empty : 'a t
val length : 'a t -> int
val append : 'a t -> 'a t -> 'a t

append a b is the equivalent of b @ a with lists

val push_front : 'a -> 'a t -> 'a t

appends an element at the front of the sequence

val push_back : 'a -> 'a t -> 'a t

appends an element at the back of the sequence

val peek_front : 'a t -> 'a option

returns the element at the front of the sequence

val peek_back : 'a t -> 'a option

returns the element at the back of the sequence

val pop_front : 'a t -> 'a t option

removes the element at the front of the sequence

val pop_back : 'a t -> 'a t option

removes the element at the back of the sequence

val map_forward : ('a -> 'b) -> 'a t -> 'b t

map, with guaranteed side effect from back to front

val map_backward : ('a -> 'b) -> 'a t -> 'b t

map, with guaranteed side effect from front to back

val iter_forward : ('a -> unit) -> 'a t -> unit

iter, with guaranteed side effect from back to front

val iter_backward : ('a -> unit) -> 'a t -> unit

iter, with guaranteed side effect from front to back

val fold_forward : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'b

fold from back to front

val fold_backward : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'b

fold from front to back

val to_seq_forward : 'a t -> 'a Seq.t

creates a Seq.t which iterates from back to front * Not intended to be particularly performant

val to_seq_backward : 'a t -> 'a Seq.t

creates a Seq.t which iterates from front to back * Not intended to be particularly performant