#include <vector>#include "comun.hpp"#include "Pos.hpp"#include "Doc.hpp"#include "NodoTrieS.hpp"#include "TrieSDisco.hpp"


Ir al código fuente de este archivo.
Namespaces | |
| namespace | Mt77 |
Definiciones | |
| #define | RamDisco_hpp |
Funciones | |
| unsigned long | precalcula_escribe_con_hermanos (NodoTrieS *n) |
| unsigned long | precalcula_escribe (NodoTrieS *n) |
| void | escribePlanoStream (NodoTrieS *n, std::ostream &os, long desp=0) |
| 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) |
| unsigned long | eliminaUnDoc (char *na, char *nrel, unsigned long nd) |
| unsigned long | renumeraUltimoDoc (char *na, char *nrel, unsigned long nd) |
| long | mezclaDiscoRam (istream &is1, NodoTrieS *a2, int saltacad, iostream &os, bool conHermanos1, bool conHermanos2, vector< long > *renum1, vector< long > *renum2) |
Definición en el archivo RamDisco.hpp.
| #define RamDisco_hpp |
Definición en la línea 14 del archivo RamDisco.hpp.
| unsigned long eliminaUnDoc | ( | char * | na, | |
| char * | nrel, | |||
| unsigned long | nd | |||
| ) |
Elimina un documento de un índice. Tanto en índice como en relación de documentos.
| na | Nombre del índice | |
| nrel | Nombre de la relación | |
| nd | Número de documento por eliminar (>=1) |
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::ostream & | os, | |||
| long | desp = 0 | |||
| ) |
Escribe en formato plano en un stream Primero se escribe mayor con hermanos en una cadena: MENOR nhermano_1 nhijo_1 {p1_1..p1_n} SIG {p2_1..p2_m} nhermano_2 nhijo_2... MAYOR 00000 nhijo_k {pk_1..pk_s}
Después hijos del menor al mayor.
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().

| unsigned long renumeraUltimoDoc | ( | char * | na, | |
| char * | nrel, | |||
| unsigned long | nd | |||
| ) |
Renumera último documento indexado y los que le siguen.
| na | Nombre del índice | |
| nrel | Nombre de la relación | |
| nd | Nuevo índice para el último documento indexado. |
1.5.4