Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Stack(3)			   OCamldoc			      Stack(3)

NAME
       Stack - Last-in first-out stacks.

Module
       Module	Stack

Documentation
       Module Stack
	: sig end

       Last-in first-out stacks.

       This module implements stacks (LIFOs), with in-place modification.

       type 'a t

       The type	of stacks containing elements of type 'a .

       exception Empty

       Raised when Stack.pop or	Stack.top is applied to	an empty stack.

       val create : unit -> 'a t

       Return a	new stack, initially empty.

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

       push x s	adds the element x at the top of stack s .

       val pop : 'a t -> 'a

       pop  s  removes	and returns the	topmost	element	in stack s , or	raises
       Stack.Empty if the stack	is empty.

       val top : 'a t -> 'a

       top s returns the topmost element in stack s , or raises	Stack.Empty if
       the stack is empty.

       val clear : 'a t	-> unit

       Discard all elements from a stack.

       val copy	: 'a t -> 'a t

       Return a	copy of	the given stack.

       val is_empty : 'a t -> bool

       Return true if the given	stack is empty,	false otherwise.

       val length : 'a t -> int

       Return the number of elements in	a stack. Time complexity O(1)

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

       iter  f	s applies f in turn to all elements of s , 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 -> 'b

       fold  f	accu  s	is (f (... (f (f accu x1) x2) ...) xn) where x1	is the
       top of the stack, x2 the	second element,	and xn the bottom element. The
       stack is	unchanged.

       Since 4.03

2021-03-01			    source:			      Stack(3)

NAME | Module | Documentation

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Stack&sektion=3o&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help