diff options
Diffstat (limited to 'composer/arraylist.h')
-rw-r--r-- | composer/arraylist.h | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/composer/arraylist.h b/composer/arraylist.h deleted file mode 100644 index b625379..0000000 --- a/composer/arraylist.h +++ /dev/null @@ -1,118 +0,0 @@ -/* ------------------------------------------------------------------------ */ -/* Copyright (c) 2009 Federico Ferri. */ -/* For information on usage and redistribution, and for a DISCLAIMER OF ALL */ -/* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ -/* */ -/* arraylist.h: macro library for dynamic arrays */ -/* */ -/* 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. */ -/* */ -/* See file LICENSE for further informations on licensing terms. */ -/* */ -/* 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. */ -/* */ -/* ------------------------------------------------------------------------ */ - -#include "common.h" - -#ifndef __ARRAYLIST_H_INCLUDED_ -#define __ARRAYLIST_H_INCLUDED_ - -#define ArrayListDeclare(name, type, sizetype) \ - type* name; \ - sizetype name ## _maxsize; \ - sizetype name ## _count - -#define ArrayListDeclareWithPrefix(prefix, name, type, sizetype) \ - prefix type* name; \ - prefix sizetype name ## _maxsize; \ - prefix sizetype name ## _count - -#define ArrayListInit(arrName, type, initSize) \ - arrName ## _maxsize = initSize; \ - if(initSize > 0) arrName = (type*)getbytes(sizeof(type) * (initSize)); \ - else arrName = NULL; \ - arrName ## _count = 0 - -#define ArrayListAdd(arrName, type, objToAdd) \ - if(arrName ## _count >= arrName ## _maxsize) { \ - arrName = (type*)resizebytes(arrName, arrName ## _maxsize, (arrName ## _maxsize)*2); \ - }; \ - arrName[ arrName ## _count ++ ] = (type) objToAdd; \ - -#define ArrayListRemove(arrName, objToRem) \ - { \ - int i,j; \ - for(i=0; i< arrName ## _count; i++) \ - if(arrName[i] == objToRem) { \ - for(j=i; j< arrName ## _count - 1; j++) { \ - arrName[j] = arrName[j+1]; \ - } \ - arrName[ arrName ## _count -- ] = 0L; \ - break; \ - } \ - } - -#define ArrayListRemoveByIndex(arrName, index) \ - { \ - int i,j; \ - for(i=0; i< arrName ## _count; i++) \ - if(i == index) { \ - for(j=i; j< arrName ## _count - 1; j++) { \ - arrName[j] = arrName[j+1]; \ - } \ - arrName[ arrName ## _count -- ] = 0L; \ - break; \ - } \ - } - -#define ArrayListRemoveByName(arrName, name) \ - { \ - int i,j; \ - for(i=0; i< arrName ## _count; i++) \ - if(arrName[i] && arrName[i]->x_name == name) { \ - for(j=i; j< arrName ## _count - 1; j++) { \ - arrName[j] = arrName[j+1]; \ - } \ - arrName[ arrName ## _count -- ] = 0L; \ - break; \ - } \ - } - -#define ArrayListGetByName(arrName, n, type, result) \ - type result = (type) 0L; \ - if(arrName) { \ - int i; \ - for(i=0; i< arrName ## _count; i++) { \ - if(arrName[i] && arrName[i]->x_name == n) { \ - result = arrName[i]; break; \ - } \ - } \ - } - -#define ArrayListGetIndexByName(arrName, n, type, result) \ - type result = (type) -1; \ - if(arrName) { \ - int i; \ - for(i=0; i< arrName ## _count; i++) { \ - if(arrName[i] && arrName[i]->x_name == n) { \ - result = i; \ - break; \ - } \ - } \ - } - -#define ArrayListFree(arrName, type) \ - freebytes(arrName, arrName ## _maxsize * sizeof(type)) - -#endif // __ARRAYLIST_H_INCLUDED_ |