00001 /*************************************************************************** 00002 *cr 00003 *cr (C) Copyright 1995-2019 The Board of Trustees of the 00004 *cr University of Illinois 00005 *cr All Rights Reserved 00006 *cr 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * RCS INFORMATION: 00011 * 00012 * $RCSfile: intstack.h,v $ 00013 * $Author: johns $ $Locker: $ $State: Exp $ 00014 * $Revision: 1.9 $ $Date: 2019/01/17 21:21:03 $ 00015 * 00016 *************************************************************************** 00017 * DESCRIPTION: 00018 * Trivial stack implementation for use in eliminating recursion 00019 * in molecule graph traversal algorithms. 00020 * 00021 ***************************************************************************/ 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 typedef void * IntStackHandle; 00028 00029 IntStackHandle intstack_create(int long); 00030 void intstack_destroy(IntStackHandle voidhandle); 00031 int intstack_compact(IntStackHandle voidhandle); 00032 int intstack_push(IntStackHandle voidhandle, int i); 00033 int intstack_pop(IntStackHandle voidhandle, int *i); 00034 int intstack_popall(IntStackHandle voidhandle); 00035 int intstack_empty(IntStackHandle voidhandle); 00036 00037 #ifdef __cplusplus 00038 } 00039 #endif 00040