package owl-base

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
Type definition
type 'a t = {
  1. mutable used : int;
  2. mutable size : int;
  3. mutable data : 'a array;
}

Type of a stack.

Basic functions
val make : unit -> 'a t

``make ()`` creates an empty stack.

val push : 'a t -> 'a -> unit

``push stack x`` pushes ``x`` into ``stack``.

val pop : 'a t -> 'a option

``pop stack`` pops the top element in ``stack``. It returns ``None`` if the ``stack`` is empty.

val peek : 'a t -> 'a option

``peek stack`` returns the value of top element in ``stack`` but it does not remove the element from the stack. ``None`` is returned if the stack is empty.

val is_empty : 'a t -> bool

Returns ``true`` if the stack is empty, otherwise ``false``.

val mem : 'a t -> 'a -> bool

``mem stack x`` checks whether ``x`` exist in ``stack``. The complexity is ``O(n)`` where ``n`` is the size of the ``stack``.

val memq : 'a t -> 'a -> bool

Similar to ``mem`` but physical equality is used for comparing values.

val to_array : 'a t -> 'a array

``to_array stack`` converts the elements in ``stack`` into an array.