gft_arraylist.h
Go to the documentation of this file.
1 // version 00.00.02
2 
3 #ifndef _GFT_ARRAYLIST_H_
4 #define _GFT_ARRAYLIST_H_
5 
6 #include "gft_common.h"
7 
8 namespace gft{
9  namespace ArrayList{
10 
11  typedef struct _ArrayList {
12  void **array;
13  int cap; //Capacity.
14  int n; //Number of objects added.
15  void (*clean)(void**); //Clean function
16  } ArrayList;
17 
18  ArrayList *Create(int cap);
19  void Destroy(ArrayList **A);
20 
21  void SetCleanFunc(ArrayList *A,
22  void (*clean)(void**));
23 
24  void AddElement(ArrayList *A,
25  void *elem);
26  void *GetElement(ArrayList *A,
27  int index);
28  void DelElement(ArrayList *A,
29  int index);
30  void DelElement(ArrayList *A,
31  void **elem);
32 
33  void Resize(ArrayList *A, int n);
34 
35  //Trims the capacity of this ArrayList instance
36  //to be the list's current size.
37  void Trim2Size(ArrayList *A);
38 
39  } /*end ArrayList namespace*/
40 } /*end gft namespace*/
41 
42 
43 #endif
44 
Definition: gft_arraylist.h:11
int cap
Definition: gft_arraylist.h:13
void DelElement(ArrayList *A, int index)
Definition: gft_arraylist.cpp:95
int n
Definition: gft_arraylist.h:14
void * GetElement(ArrayList *A, int index)
Definition: gft_arraylist.cpp:87
void AddElement(ArrayList *A, void *elem)
Definition: gft_arraylist.cpp:66
void Destroy(ArrayList **A)
Definition: gft_arraylist.cpp:38
void(* clean)(void **)
Definition: gft_arraylist.h:15
Header file for common definitions and function prototypes.
void SetCleanFunc(ArrayList *A, void(*clean)(void **))
Definition: gft_arraylist.cpp:60
void Resize(ArrayList *A, int n)
Definition: gft_arraylist.cpp:124
void ** array
Definition: gft_arraylist.h:12
void Trim2Size(ArrayList *A)
Definition: gft_arraylist.cpp:147
ArrayList * Create(int cap)
Definition: gft_arraylist.cpp:17
struct gft::ArrayList::_ArrayList ArrayList