#include <iostream>
#include <iomanip>
#include <list>
#include <vector>
#include <set>
#include <fstream>
#include <istream>
#include <sstream>
#include "RamDisco.hpp"
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) |
NodoTrieS * | leePlanoStream (std::istream &is) throw (string) |
void | escribePlano (NodoTrieS &t, vector< Doc > &docs, char *na, char *nrel) |
NodoTrieS * | leePlano (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 |
Definición en el archivo RamDisco.cpp.
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().
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().
Escribe en formato plano en un archivo
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().
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.
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().
Lee un trieS de un archivo de nombre na donde está almacenado. Retorna vector de documentos indexados en idocs.
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 |
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().
NodoTrieS* leePlanoStream | ( | std::istream & | is | ) | throw (string) |
Lee un trieS de un stream donde está almacenado en formato extra-simple.
is | Flujo de entrada |
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().
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.
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 |
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().
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().
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().
stringstream* depuraos |
Definición en la línea 27 del archivo TrieSDisco.cpp.
Referenciado por escribeCopiaSubarbol(), escribeCopiaSubarbolRam(), escribeNodo(), escribePlanoStream(), mezclaDiscoRam(), y mezclaRec().