[list.h] Type: List

contents



#include "standard.h"




The Type


   This module implements a functional,i.e. LISP-like list data type.


List(Abs_T) Abstract list type


Operations and predicates

c_bool empty(List(Abs_T) x)
whether list 'x' is empty
Abs_T list_fst(List(Abs_T) x)
#define fst(TYPE, LIST) ((TYPE) list_fst(LIST))
first member of list 'x'
 List(Abs_T) rst(List(Abs_T) x)
rest of list 'x'
 List(Abs_T) cons(Abs_T fst, List(Abs_T) rst)
list constructor
 List(Abs_T) *rst_ref(List(Abs_T) x)
pointer to rest(x); use with care!
Abs_T *fst_ref(List(Abs_T) x)
pointer to first(x); use with care!
int length(List(Abs_T) x)
length of list 'x'
void pList(List(Abs_T) x, int Indent, void (*pMember)(Abs_T x))
prints list 'x' to stdout
void pListEx
     (
       List(Abs_T) x, int Indent,
       void (*pMember)(Abs_T x, StdCPtr any), StdCPtr any
     )
prints list 'x' to stdout;
uses 'any' as member context

void freeList(List(Abs_T) x, void (*freeMember)(Abs_T x))
frees list 'x'