From ec32cf41f916fc34c03d2844684631bee39005ad Mon Sep 17 00:00:00 2001 From: Ian C Date: Thu, 9 Jun 2011 13:57:32 +0000 Subject: Added copies of old numbered releases. --- map.h | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 map.h (limited to 'map.h') diff --git a/map.h b/map.h new file mode 100644 index 0000000..9878fe4 --- /dev/null +++ b/map.h @@ -0,0 +1,86 @@ +/* + + viDOOM - level editor for DOOM + + Copyright (C) 2000 Ian Cowburn (ianc@noddybox.demon.co.uk) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------- + + Provides a dynamic sort-of-array type + + $Id$ + +*/ + +#ifndef _MAP_H + +#define _MAP_H + +/* Opaque types for the map. NULL is the null map. +*/ +struct _Map; +typedef struct _Map *Map; + +/* Create a new Map that handles objects of type_size +*/ +Map MapNew(int type_size); + + +/* Copy a Map +*/ +Map MapCopy(Map m); + + +/* Destroy a Map object +*/ +Map MapClear(Map m); + + +/* Destroy all elements in a Map +*/ +Map MapEmpty(Map m); + + +/* Return number of elements in the Map +*/ +int MapSize(Map m); + + +/* Get the element from index no +*/ +void *MapElem(Map m,int no); + + +/* Add an element at position no. no==-1 positions the element at the end +*/ +void MapAdd(Map m,int no,void *data); + + +/* Find and element, searching using the passed predicate function. Function + should return TRUE for found, FALSE for not found. + + Note the fist void* passed to the predicate will be of the type stored in + the Map. The second argument will be whatever was passed as data. + + Returns NULL if the entry cannot be found. +*/ +void *MapFindElem(Map m,int (*pred)(void *, void *),void *data); + +#endif + + +/* END OF FILE */ -- cgit v1.2.3