Module Caml.Stack
val create : unit -> 'a tReturn a new stack, initially empty.
val push : 'a -> 'a t -> unitpush x sadds the elementxat the top of stacks.
val pop : 'a t -> 'apop sremoves and returns the topmost element in stacks, or raisesEmptyif the stack is empty.
val pop_opt : 'a t -> 'a optionpop_opt sremoves and returns the topmost element in stacks, or returnsNoneif the stack is empty.- since
- 4.08
val top : 'a t -> 'atop sreturns the topmost element in stacks, or raisesEmptyif the stack is empty.
val top_opt : 'a t -> 'a optiontop_opt sreturns the topmost element in stacks, orNoneif the stack is empty.- since
- 4.08
val clear : 'a t -> unitDiscard all elements from a stack.
val is_empty : 'a t -> boolReturn
trueif the given stack is empty,falseotherwise.
val length : 'a t -> intReturn the number of elements in a stack. Time complexity O(1)
val iter : ('a -> unit) -> 'a t -> unititer f sappliesfin turn to all elements ofs, from the element at the top of the stack to the element at the bottom of the stack. The stack itself is unchanged.
val fold : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'bfold f accu sis(f (... (f (f accu x1) x2) ...) xn)wherex1is the top of the stack,x2the second element, andxnthe bottom element. The stack is unchanged.- since
- 4.03
Iterators
val to_seq : 'a t -> 'a Seq.tIterate on the stack, top to bottom. It is safe to modify the stack during iteration.
- since
- 4.07