Referencia del Archivo RamDisco.cpp

#include <iostream>
#include <iomanip>
#include <list>
#include <vector>
#include <set>
#include <fstream>
#include <istream>
#include <sstream>
#include "RamDisco.hpp"

Dependencia gráfica adjunta para RamDisco.cpp:

Ir al código fuente de este archivo.

Namespaces

namespace  Mt77

Funciones

unsigned long precalcula_escribe_con_hermanos (NodoTrieS *n)
unsigned long precalcula_escribe (NodoTrieS *n)
void escribePlanoStream (NodoTrieS *n, std::iostream &os, long desp)
NodoTrieSleePlanoStream (std::istream &is) throw (string)
void escribePlano (NodoTrieS &t, vector< Doc > &docs, char *na, char *nrel)
NodoTrieSleePlano (char *na, char *nrel, vector< Doc > &docs)
long escribeCopiaNodoRam (iostream &os, NodoTrieS *a, int saltacad, NodoTrieS **phijo, vector< long > *renum)
long escribeCopiaSubarbolRam (iostream &os, NodoTrieS *a, int saltacad, bool conHermanos, vector< long > *renum)
long mezclaDiscoRam (istream &is1, NodoTrieS *a2, int saltacad, iostream &os, bool conHermanos1, bool conHermanos2, vector< long > *renum1, vector< long > *renum2)

Variables

stringstream * depuraos


Descripción detallada

Operaciones en RAM y Disco

Definición en el archivo RamDisco.cpp.


Documentación de las funciones

long escribeCopiaNodoRam ( iostream &  os,
NodoTrieS a,
int  saltacad,
NodoTrieS **  phijo,
vector< long > *  renum 
)

Definición en la línea 204 del archivo RamDisco.cpp.

Hace referencia a ASSERT, NodoTrieS::cad, copiaPos(), NodoTrieS::cpos, escribeNodo(), NodoTrieS::hijo_menor, y precalcula_escribe_con_hermanos().

Referenciado por mezclaDiscoRam().

Gráfico de llamadas para esta función:

long escribeCopiaSubarbolRam ( iostream &  os,
NodoTrieS a,
int  saltacad,
bool  conHermanos,
vector< long > *  renum 
)

Definición en la línea 236 del archivo RamDisco.cpp.

Hace referencia a NodoTrieS::cad, copiaPos(), NodoTrieS::cpos, depuraos, escribeNDesp(), escribeNodo(), NodoTrieS::hermano_mayor, y NodoTrieS::hijo_menor.

Referenciado por mezclaDiscoRam().

Gráfico de llamadas para esta función:

void escribePlano ( NodoTrieS t,
vector< Doc > &  docs,
char *  na,
char *  nrel 
)

Escribe en formato plano en un archivo

Parámetros:
t TrieS por escribir
docs Documentos referenciados en t
na nombre del archivo por generar con índice
nrel Nombre del archivo por generar con relación de documentos

Definición en la línea 166 del archivo RamDisco.cpp.

Hace referencia a ASSERT, escribePlanoStream(), escribeRelacion(), y MARCAIND.

Referenciado por main(), y RamDiscoCasoPrueba::prueba_escribePlano().

Gráfico de llamadas para esta función:

void escribePlanoStream ( NodoTrieS n,
std::iostream &  os,
long  desp 
)

Primero se escribe mayor con hermanos en una cadena: MENOR { nhermano_1 nhijo_1 p1_1..p1_n} SIG { nhermano_2 nhijo_2 p2_1..p2_m} ... MAYOR { 00000 nhijo_k pk_1..pk_s}
Después hijos del menor al mayor.

Parámetros:
n Nodo
os Flujo de salida
desp Desplazamiento por agregar a todo 'apuntador'

Definición en la línea 81 del archivo RamDisco.cpp.

Hace referencia a NodoTrieS::cad, NodoTrieS::cpos, depuraos, escribeNodo(), NodoTrieS::hermano_mayor, NodoTrieS::hijo_menor, precalcula_escribe(), precalcula_escribe_actual(), y precalcula_escribe_con_hermanos().

Referenciado por escribePlano(), llena_ss(), main(), RamDiscoCasoPrueba::prueba_escribePlano(), RamDiscoCasoPrueba::prueba_mezclaDiscoRam(), y TrieSDiscoCasoPrueba::prueba_mezclarec().

Gráfico de llamadas para esta función:

NodoTrieS* leePlano ( char *  na,
char *  nrel,
vector< Doc > &  docs 
)

Lee un trieS de un archivo de nombre na donde está almacenado. Retorna vector de documentos indexados en idocs.

Parámetros:
na Nombre del archivo con índice
nrel Nombre del archivo con relación de documentos
docs Retorna en este relación de documentos indexados leido de nrel
Devuelve:
TrieS leido de na

Definición en la línea 183 del archivo RamDisco.cpp.

Hace referencia a leePlanoStream(), leeRelacion(), y verificaIndice().

Referenciado por main(), y RamDiscoCasoPrueba::prueba_leePlano().

Gráfico de llamadas para esta función:

NodoTrieS* leePlanoStream ( std::istream &  is  )  throw (string)

Lee un trieS de un stream donde está almacenado en formato extra-simple.

Parámetros:
is Flujo de entrada
Devuelve:
trieS que construye

Definición en la línea 124 del archivo RamDisco.cpp.

Hace referencia a errorFormato(), FINCADENA, leeNDesp(), leePlanoStream(), y leePos().

Referenciado por leePlano(), leePlanoStream(), TrieSDiscoCasoPrueba::prueba_escribeCopiaSubarbol(), RamDiscoCasoPrueba::prueba_mezclaDiscoRam(), y TrieSDiscoCasoPrueba::prueba_mezclarec().

Gráfico de llamadas para esta función:

long mezclaDiscoRam ( istream &  is1,
NodoTrieS a2,
int  saltacad,
iostream &  os,
bool  conHermanos1,
bool  conHermanos2,
vector< long > *  renum1,
vector< long > *  renum2 
)

Mezcla is1 con a2 y deja resultado en os.

Parámetros:
is1 1er archivo de entrada, su cursor se espera sobre cadena del hermano menor
a2 2do trieS de entrada
saltacad Cuanto de la cadena de a2 debe saltarse
os salida, su cursor se espera al final --allí escribirá mezcla.
conHermanos1 procesar hermanos de is1
conHermanos2 procesar hermanos de a2
renum1 Renumeración a documentos de is1
renum2 Renumeración a documentos de a2
Es un algoritmo similar al de escribeCopiaSubarbol: 1. Escribe todos los hermanos del menor al mayor. Para esto recorre los hermanos de is1 y a2. 2. Escribe todos los subárboles del menor al mayor. Para esto recorre los subárboles necesarios de is1 y a2

Definición en la línea 314 del archivo RamDisco.cpp.

Hace referencia a ASSERT, NodoTrieS::cad, copiaPos(), NodoTrieS::cpos, depuraos, escribeCopiaNodo(), escribeCopiaNodoRam(), escribeCopiaSubarbol(), escribeCopiaSubarbolRam(), escribeNDesp(), escribeNodo(), NodoTrieS::hermano_mayor, NodoTrieS::hijo_menor, leeCad(), leeNDesp(), leePos(), MAXLNUMERO, mezclaDiscoRam(), y prefijo_comun_mas_largo().

Referenciado por agregaDoc(), main(), mezclaDiscoRam(), y RamDiscoCasoPrueba::prueba_mezclaDiscoRam().

Gráfico de llamadas para esta función:

unsigned long precalcula_escribe ( NodoTrieS n  ) 

Calcula cuantos bytes requeriría el procedimiento escribe para representar el nodo, sus hermanos y descendientes

Definición en la línea 54 del archivo RamDisco.cpp.

Hace referencia a NodoTrieS::hermano_mayor, NodoTrieS::hijo_menor, precalcula_escribe(), y precalcula_escribe_con_hermanos().

Referenciado por escribePlanoStream(), precalcula_escribe(), y RamDiscoCasoPrueba::prueba_precalcula_escribe().

Gráfico de llamadas para esta función:

unsigned long precalcula_escribe_con_hermanos ( NodoTrieS n  ) 

Calcula tamaño en bytes requerido para escribir nodo y hermanos sin descendientes con función escribe

Definición en la línea 33 del archivo RamDisco.cpp.

Hace referencia a NodoTrieS::cad, NodoTrieS::cpos, NodoTrieS::hermano_mayor, y precalcula_escribe_actual().

Referenciado por escribeCopiaNodoRam(), escribePlanoStream(), precalcula_escribe(), y RamDiscoCasoPrueba::prueba_precalcula_escribe_con_hermanos().

Gráfico de llamadas para esta función:


Documentación de las variables

stringstream* depuraos

Definición en la línea 27 del archivo TrieSDisco.cpp.

Referenciado por escribeCopiaSubarbol(), escribeCopiaSubarbolRam(), escribeNodo(), escribePlanoStream(), mezclaDiscoRam(), y mezclaRec().


Generado el Wed Jan 6 06:59:36 2010 para Mt77 por  doxygen 1.5.4