/*
** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
** See ../LICENSE for license information.
*/
# ifndef POINTERS_H
# define POINTERS_H
struct s_pointers {
qualList quals;
/*@null@*/ pointers rest;
} ;
/*@constant null pointers pointers_undefined; @*/
# define pointers_undefined ((pointers) NULL)
extern /*@nullwhentrue@*/ bool pointers_isUndefined (/*@special@*/ pointers p_e) /*@*/ ;
extern /*@falsewhennull@*/ bool pointers_isDefined (/*@special@*/ pointers p_e) /*@*/ ;
# define pointers_isUndefined(e) ((e) == pointers_undefined)
# define pointers_isDefined(e) ((e) != pointers_undefined)
extern pointers pointers_create (lltok p_tok) /*@*/ ;
extern pointers pointers_createMods (lltok p_tok, /*@only@*/ qualList p_quals) /*@*/ ;
extern pointers pointers_createMt (mttok p_tok) /*@*/ ;
extern pointers pointers_createLt (ltoken p_tok) /*@*/ ;
extern pointers pointers_createModsLt (ltoken p_tok, /*@only@*/ qualList p_quals) /*@*/ ;
extern pointers pointers_createModsMt (mttok p_tok, /*@only@*/ qualList p_quals) /*@*/ ;
extern pointers pointers_extend (/*@returned@*/ pointers p_p1, /*@only@*/ pointers p_p2) /*@modifies p_p1@*/ ;
extern /*@observer@*/ pointers pointers_getRest (pointers) /*@*/ ;
extern int pointers_depth (pointers p_p) /*@*/ ;
extern cstring pointers_unparse (pointers) /*@*/ ;
extern void pointers_free (/*@only@*/ pointers) ;
# else
# error "Multiple include"
# endif
syntax highlighted by Code2HTML, v. 0.9.1