Aleph-w  1.5a.2
Biblioteca general de algoritmos y estructuras de datos
 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Amigas Grupos Páginas
Referencia de la plantilla de la Clase Aleph::IO_Graph< GT, Load_Node, Store_Node, Load_Arc, Store_Arc, NF, AF >

#include <io_graph.H>

Métodos públicos

 IO_Graph (GT &__g)
 Constructor con referencia a grafo.
 
 IO_Graph (GT *gptr)
 Constructor con puntero a grafo.
 
void save (ofstream &output)
 Guarda el grafo en el stream output.
 
void load (ifstream &input)
 Carga el grafo desde el stream output.
 
void save_in_text_mode (ostream &output)
 Guarda el grafo en el stream output.
 
void load_in_text_mode (istream &input)
 Carga el grafo desde el stream intput.
 

Descripción detallada

template<class GT, class Load_Node = Dft_Load_Node<GT>, class Store_Node = Dft_Store_Node<GT>, class Load_Arc = Dft_Load_Arc<GT>, class Store_Arc = Dft_Store_Arc<GT>, class NF = Aleph::Dft_Show_Node<GT>, class AF = Aleph::Dft_Show_Arc<GT>>
class Aleph::IO_Graph< GT, Load_Node, Store_Node, Load_Arc, Store_Arc, NF, AF >

Clase para guardar y recuperar grafos en y de memoria secundaria.

IO_Graph está diseñada para guardar y leer grafos en y desde memoria secundaria, a través de objetos derivados de fstream.

La clase maneja 7 parámetros tipo

  • GT: el grafo a guardar o leer.
  • Load_Node: clase encargada de leer la información relacionada a un nodo y cargarla a su contenido.
  • Store_Node: clase encargada de guardar la información relacionada a un nodo y cargarla a su contenido. Por omisión se escribe el valor arrojado por get_info() sobre el nodo.
  • Load_Arc: clase encargada de leer la información relacionada a un arco y cargarla a su contenido. Por omisión se lee en bruto del stream y se carga a get_info() sobre el arco.
  • Store_Arc: clase encargada de guardar la información relacionada a un arco y cargarla a su contenido. Por omisión se escribe el valor arrojado por get_info() sobre el arco.
  • NF: clase filtro de nodos; sólo se invoca para guardar el grafo y sólo se guardan los nodos que pasen por el filtro.
  • AF: clase filtro de arcos; sólo se invoca para guardar el grafo y sólo se guardan los arcos que pasen por el filtro.

    EL formato para guardar es:

    1. Cantidad de nodos.
    2. Contenido de los nodos escrito por Store_Node.
    3. Cantidad de arcos.
    4. Finalmente se escriben los arcos con el siguiente formato:
      • Índice del nodo origen e índice del nodo destino según el orden de aparición cuando se escribieron los nodos.
      • Contenido del arco escrito por Store_Arc.

    En el caso más común en el cual sólo se requiera guardar en bruto los contenidos ofrecidos por get_info() en los nodos y arcos, entonces, a través de las plantillas por omisión, es suficiente con invocar a la clase IO_Graph<GT> sin el resto de los parámetros tipo.

    Según el compilador (en el caso de este autor gnu), los errores de compilación si hay alguna falla de correspondencia con los parámetros plantilla o con los parámetros de las funciones pueden ser muy crípticos. Por esa razón, se recomienda ampliamente que las clases de lectura y escritura sean hechas a partir de las de omisión que se incluyen en el archivo.

Ver también
Filter_Iterator

La documentación para esta clase fue generada a partir del siguiente fichero:

Leandro Rabindranath León