[ CCUnit project page ] |  | [ CCUnit home page ]

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# 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.6 2003/11/01 22:00:17 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

| hosts this site. |  | Send comments to: CCUnit Developer |