mirror of
https://github.com/json-c/json-c.git
synced 2026-03-26 08:29:06 +08:00
import of version 0.1
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@2 327403b1-1117-474d-bef2-5cb71233fd97
This commit is contained in:
52
arraylist.h
Normal file
52
arraylist.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* $Id: arraylist.h,v 1.2 2004/07/21 01:24:33 mclark Exp $
|
||||
*
|
||||
* Copyright Metaparadigm Pte. Ltd. 2004.
|
||||
* Michael Clark <michael@metaparadigm.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public (LGPL)
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details: http://www.gnu.org/
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _arraylist_h_
|
||||
#define _arraylist_h_
|
||||
|
||||
#define ARRAY_LIST_DEFAULT_SIZE 32
|
||||
|
||||
typedef void (array_list_free_fn) (void *data);
|
||||
|
||||
struct array_list
|
||||
{
|
||||
void **array;
|
||||
int length;
|
||||
int size;
|
||||
array_list_free_fn *free_fn;
|
||||
};
|
||||
|
||||
extern struct array_list*
|
||||
array_list_new(array_list_free_fn *free_fn);
|
||||
|
||||
extern void
|
||||
array_list_free(struct array_list *this);
|
||||
|
||||
extern void*
|
||||
array_list_get_idx(struct array_list *this, int i);
|
||||
|
||||
extern int
|
||||
array_list_put_idx(struct array_list *this, int i, void *data);
|
||||
|
||||
extern int
|
||||
array_list_add(struct array_list *this, void *data);
|
||||
|
||||
extern int
|
||||
array_list_length(struct array_list *this);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user