00001 //=========================================================================== 00002 //= arreglo.h Diciembre de 1999 = 00003 //=-------------------------------------------------------------------------= 00004 //= Definiciones de un arreglo dinamico reutilizable = 00005 //=-------------------------------------------------------------------------= 00006 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO = 00007 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN = 00008 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES, = 00009 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO, = 00010 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO, = 00011 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA = 00012 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES = 00013 //= ("ACTIVIDADES DE ALGO RIESGO"). = 00014 //=-------------------------------------------------------------------------= 00015 //= Autor original: Oscar J. Chavarro G. A.K.A. JEDILINK. Copyright (c), = 00016 //= 1997 - 2003, oscarchavarro@hotmail.com = 00017 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia = 00018 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la = 00019 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. = 00020 //=========================================================================== 00021 00022 #ifndef __ARREGLO__ 00023 #define __ARREGLO__ 00024 00025 #include "jed_defs.h" 00026 00027 template <class T> class ARREGLO 00028 { 00029 private: 00030 long int incremento; 00031 long int _tam; 00032 long int max_tam; 00033 T *Data; 00034 public: 00035 ARREGLO(long int i) { 00036 incremento = i; 00037 max_tam = incremento; 00038 init(); 00039 }; 00040 //~ARREGLO(); 00041 void init(void) 00042 { 00043 Data = (T *) malloc(sizeof(T) * max_tam); 00044 _tam = 0; 00045 }; 00046 void elim(void); 00047 BOOLEAN anx(T elem); 00048 long int tam(void){return _tam;} 00049 T& operator [](long int i) { return Data[i]; } 00050 T* data(void) { return Data; }; 00051 }; 00052 00053 #endif // __ARREGLO__ 00054 00055 //=========================================================================== 00056 //= EOF = 00057 //=========================================================================== 00058