CCUnit project page CCUnit home page

Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

CCUnitList.h

Go to the documentation of this file.
00001 /* -*- mode: C; -*- */
00002 /* Copyright (C) 2003 TSUTSUMI Kikuo.
00003    This file is part of the CCUnit Library.
00004 
00005    The CCUnit Library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Lesser General Public License
00007    as published by the Free Software Foundation; either version 2.1 of
00008    the License, or (at your option) any later version.
00009 
00010    The CCUnit Library is distributed in the hope that it will be
00011    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
00012    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013    GNU Lesser General Public License for more details.
00014 
00015    You should have received a copy of the GNU Lesser General Public
00016    License along with the CCUnit Library; see the file COPYING.LESSER.
00017    If not, write to the Free Software Foundation, Inc., 59 Temple
00018    Place - Suite 330, Boston, MA 02111-1307, USA.  
00019 */
00020 
00021 /*
00022  * $Id: CCUnitList.h,v 1.5 2003/09/16 13:47:36 tsutsumi Exp $
00023  */
00024 
00029 #ifndef CCUNITLIST_H
00030 #define CCUNITLIST_H
00031 
00032 #include <ccunit/CCUnitConfig.h>
00033 
00044 typedef struct CCUnitList
00045 {
00046   struct CCUnitListCell* head;          
00047   struct CCUnitListCell** tailp;        
00048   size_t length;                        
00049   bool isAllocated;                     
00050 } CCUnitList;
00051 
00056 extern inline CCUnitList* ccunit_newList ();
00057 
00063 extern void ccunit_addList (CCUnitList* list, void* contents);
00064 
00070 extern CCUnitList* ccunit_initList (CCUnitList* list);
00071 
00079 extern void ccunit_deleteList (CCUnitList* list, void (*deleteContents)(void*));
00080 
00090 typedef struct CCUnitListIterator
00091 {
00092   struct CCUnitListCell* current;               
00093   bool isAllocated;                             
00094 } CCUnitListIterator;
00095 
00102 extern CCUnitListIterator* ccunit_newListIterator (const struct CCUnitList* list);
00103 
00110 extern inline
00111 CCUnitListIterator* ccunit_initListIterator (const struct CCUnitList* list,
00112                                              struct CCUnitListIterator* it);
00113 
00119 extern inline void ccunit_deleteListIterator (struct CCUnitListIterator* it);
00120 
00126 extern void* ccunit_nextListIterator (struct CCUnitListIterator* it);
00127 
00133 extern bool ccunit_hasNextListIterator (struct CCUnitListIterator* it);
00134 
00143 #endif
00144 

SourceForge.jp hosts this site. Send comments to:
CCUnit Developer