#pragma once
#ifndef StrArray_h
#define StrArray_H

#include "base_head.h"
class UTILES_EXPORT StrArray
{
	//variables------------------------------
	int incremento_char;
	int incremento_str;
public:
	char *str;
	int n_str;//numero de chars
	int m_str;//memoria reser
	int (*ind)[];
	int n_i;//numero de str
	int m_i;//memoria reser
	//constructor----------------------------
public:
	StrArray(void);
	~StrArray(void);
	//funciones------------------------------
	char* get(int i);//da string i
	void add(char*c);//mete str
	void add(char*c, int ncharReser);//mete str y reserva en memoria un minimo de ncharReser;
	void add( StrArray* st );//mete un array entero de caracteres
	void borra(int i);//borra el elemento iesimo
	int size();//da numero de str
	void borra();//borra todo
	void compacta();//reduce al minimo la memoria necesaria para comtener la informacion
	StrArray* filtra(StrArray*buf, char *filter);
	BOOL replace(int i, char* cadena);
	int find(char* st);
	//funciones aux-------------------------
private:
	void cuida_memoria(int n,int ni=1);//asegura tener memoria para un str mas
};
#endif