Site hosted by Angelfire.com: Build your free website today!
Página principal | Lista de namespace | Lista de archivos | Archivos de los miembros

Referencia del Archivo StringCH.h

#include "ADH_port.h"
#include <memory.h>
#include <string.h>

Ir al código fuente de este archivo.

Definiciones

#define StringCH_h

Funciones

 OPEN_namespace (ADH) class StringCH
 Esta clase sirve para usar una hilera a la que siempre se le puede agregar una letra al final.
bool check_ok (const StringCH &sCH)
 Verifica la invariante de la clase.


Documentación de las definiciones

#define StringCH_h
 


Documentación de las funciones

OPEN_namespace ADH   ) 
 

Esta clase sirve para usar una hilera a la que siempre se le puede agregar una letra al final.

  • Estas hileras no pueden tener en el medio "(char)0" que es el caracter usado para marcar el fin de hilera.
  • Internamente contiene un bloque de memoria hecho de varios pedazos de tamaño "StringCH::Block_Size" que crecen al agregar una letra al final.
  • Esta funcionalidad se encuentra en otras clases "string", pero está encapsulada aquí para mostrar cómo es el manejo de memoria dinámica.

< Tamaño de cada sub-bloque de las hileras

< Longitud de la hilera

< Cantidad de bloques que contiene la hilera

< Apuntador a la hilera

Constructor de copia

< Agrega "c" al final de "*this"

< Agrega "str" al final de "*this" Agrega "c" al final de "*this"

Agrega "str" al final de "*this"

Convertidor a "(char*)"

  • Permitw usar una "StringCH" como si fuera una hilera C++

bool check_ok const StringCH &  sCH  )  [inline]
 

Verifica la invariante de la clase.

Rep Modelo de la clase
     m_s
    +---+    +--------------+--------------+--------------+
    | *-|--->|  <block #1>  |  <block #2>  |  <block #3>  |
    +---+    +--------------+--------------+--------------+
    | 3 | <==  m_N_block == 3 bloques contiguos
    +---+
    |333| <==  m_len == 333 == strlen( m_s );
    +---+

Comentarios:
Libera al programador de implementar el m‚todo Ok()

- Invariante: Debe haber al menos un bloque para cada instancia

- Invariante: Debe coincidir el largo de la hilera con "m_len"

- Invariante: Debe haber al menos un bloque para la hilera

- Invariante: La longitud de la hilera debe caber en el espacio de bloques disponible

- Invariante: La cantidad de bloques debe ser la mínima necearia para almacenar la hilera


Generado el Fri Aug 26 14:42:28 2005 para A33018 Tarea Programada #2 por  doxygen 1.4.1