aboutsummaryrefslogblamecommitdiffstats
path: root/darray.h
blob: 04cbc6a636becdf8fdb3a2477f01824a6bf686d0 (plain) (tree)




































                                                   
#ifndef __DARRAY_H
#define __DARRAY_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define DEFAULT_EXPAND_RATE 10

class DArray
{
private:
	int end;
	int _max;
	//size_t size;
	size_t _expand;
	void **data;
public:
	DArray(size_t data_size, size_t init_size);
	~DArray();
	void clear();
	void clead_idx(int idx);
	int expand();
	int resize(size_t size);
	int push(void *val);
	void *pop();
	int set(int idx, void *val);
	void* get(int idx);
	void *last();
	void *first();
	int count();
	int max();
};

#endif