Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

arreglo.cc

Ir a la documentación de este archivo.
00001 //===========================================================================
00002 //= arreglo.cc                                            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 #include "arreglo.h"
00023 #include <stdio.h>
00024 
00025 //===========================================================================
00026 //= Clase parametrica ARREGLO                                               =
00027 //===========================================================================
00028 
00029 //template <class T>
00030 //ARREGLO<T>::~ARREGLO<T>()
00031 //{
00032 //    elim();
00033 //}
00034 
00035 template <class T> BOOLEAN
00036 ARREGLO<T>::anx(T elem)
00037 {
00038     if ( _tam >= max_tam ) {
00039         // Agrego `incremento` valores
00040         Data = (T *)realloc(Data, sizeof(T) * (max_tam + incremento));
00041         if ( !Data ) {
00042           #if PLATAFORMA != PALM_PALMOS_CODEWARRIOR
00043             fprintf(stderr,"<ARREGLO<T>> ERROR: Ha fallado un anx!\n");
00044             fflush(stderr);
00045           #endif
00046             return FALSE;
00047         }
00048         max_tam += incremento;
00049     }
00050     Data[_tam] = elem;
00051     _tam++;
00052     return TRUE;
00053 }
00054 
00055 template <class T> void
00056 ARREGLO<T>::elim(void)
00057 {
00058     if ( Data ) {
00059         free(Data);
00060         Data = NULL;
00061         _tam = 0;
00062     }
00063 }
00064 
00065 //===========================================================================
00066 //= EOF                                                                     =
00067 //===========================================================================
00068 

Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.