#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. |