/* This is a modified version of the file "arena.h" from "C Interfaces and Implementations", by David R. Hanson. The license is below. */ /* The author of this software is David R. Hanson. Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. Permission to use, copy, modify, and distribute this software for any purpose, subject to the provisions described below, without fee is hereby granted, provided that this entire notice is included in all copies of any software that is or includes a copy or modification of this software and in all copies of the supporting documentation for such software. THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. David Hanson / drh@microsoft.com / http://www.research.microsoft.com/~drh/ $Id: CPYRIGHT,v 1.2 1997/11/04 22:31:40 drh Exp $ */ /* $Id: H:/drh/idioms/book/RCS/arena.doc,v 1.10 1997/02/21 19:45:19 drh Exp $ */ #ifndef _CII_ARENA_H #define _CII_ARENA_H //#include "except.h" #define T Arena_T typedef struct T *T; //extern const Except_T Arena_NewFailed; //extern const Except_T Arena_Failed; extern T Arena_new (void); extern void Arena_dispose(T *ap); extern void *Arena_alloc (T arena, long nbytes, const char *file, int line); extern void *Arena_calloc(T arena, long count, long nbytes, const char *file, int line); extern void Arena_free (T arena); #undef T #endif /* ndef _CII_ARENA_H */