From c7934638eb9a6a006ccb85ad09dbcdfcac93f90f Mon Sep 17 00:00:00 2001 From: lecoanet Date: Mon, 29 Nov 1999 09:08:03 +0000 Subject: RadarListDelete ne prend plus de troisi�me param�tre contenant une valeur � rechercher. Il faut d�sormais fournir l'index de l'entr�e � d�truire. RadarListDetect est supprim�e. RadarListDo prend un param�tre de plus contenant une donn�e anonyme qui sera reservie � la fonction de test. Cette fonction re�oit donc un param�tre de plus ce qui permet d'effectuer un test plus utile. --- generic/List.h | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 generic/List.h (limited to 'generic/List.h') diff --git a/generic/List.h b/generic/List.h new file mode 100644 index 0000000..46ee00e --- /dev/null +++ b/generic/List.h @@ -0,0 +1,117 @@ +/* + * List.h -- Header of list module. + * + * Authors : Patrick Lecoanet. + * Creation date : Tue Mar 15 17:24:51 1994 + * + * $Id$ + */ + +/* + * Copyright (c) 1993 - 1999 CENA, Patrick Lecoanet -- + * + * This code is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This code is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this code; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + + +#ifndef _List_h +#define _List_h + + +#ifdef __CPLUSPLUS__ +extern "C" { +#endif + + +/* + ********************************************************************************** + * + * Included files + * + ********************************************************************************** + */ + + +/* + ********************************************************************************** + * + * Constants + * + ********************************************************************************** + */ + +#define RadarListHead 0 +#define RadarListTail (~(1 << ((8*sizeof(int)) - 1))) + + +/* + ********************************************************************************** + * + * New types + * + ********************************************************************************** + */ + +typedef void *RadarList; + + +/* + ********************************************************************************** + * + * Prototypes + * + ********************************************************************************** + */ + +RadarList RadarListNew(int /* initial_size */, + int /* element_size */); +RadarList RadarListDuplicate(RadarList /* list */); +void RadarListEmpty(RadarList /* list */); +RadarList RadarListFromArray(void */* array */, + int /* array_size */, + int /* element_size */); +void *RadarListArray(RadarList /* list */); +void RadarListFree(RadarList /* list */); +int RadarListSize(RadarList /* list */); +void RadarListAssertSize(RadarList /* list */, + int /* size */); +void RadarListCopy(RadarList /* to */, + RadarList /* from */); +void RadarListAppend(RadarList /* to */, + RadarList /* from */); +void RadarListAdd(RadarList /* list */, + void */* value */, + int /* index */); +void *RadarListAt(RadarList /* list */, + int /* index */); +void RadarListAtPut(RadarList /* list */, + void */* value */, + int /* index */); +void RadarListDelete(RadarList /* list */, + int /* index */); +void RadarListTruncate(RadarList /* list */, + int /* index */); +int RadarListDo(RadarList /* list */, + void *data, + int (*/* to_do */)(void */* value */, + void */*data*/)); + + +#ifdef __CPLUSPLUS__ +} +#endif + +#endif /* _List_h */ -- cgit v1.1