#include <set>#include <string>#include <ostream>#include <sstream>


Ir al código fuente de este archivo.
Namespaces | |
| namespace | Mt77 |
Definiciones | |
| #define | Comun_hpp |
| #define | ASSERT(x) |
Funciones | |
| void | verificaNombre (const char *na, char *nrel) |
| template<class T> | |
| std::ostream & | operator<< (std::ostream &os, set< T > c) |
| string | prefijo_comun_mas_largo (string a, string b) |
| std::string | errorFormato (std::istream &is, string m) |
| string | leeCad (istream &is) throw (string) |
| long | leeHex (std::istream &is) throw (string) |
| void | escribeHex (std::ostream &os, unsigned long n) |
| long | lee128b (std::istream &is) throw (string) |
| void | escribe128b (std::ostream &os, unsigned long n) |
| string | n128b_c (unsigned long n) |
| unsigned long | c_n128b (string s) |
| unsigned int | long128b (unsigned long n) |
| long | leeNDesp (std::istream &is) throw (std::string) |
| void | escribeNDesp (std::ostream &os, unsigned long n) |
| unsigned int | longNDesp (unsigned long n) |
| string | normalizaCaracter (char c) |
| string | normaliza (string s) |
| int | car_utf8_a_latin1 (const char *u8, char *latin1) |
| string | utf8_a_latin1 (const char *u8, int len) |
| vector< string > | estalla (const string &delimitador, const string &cad) |
| string | directorio_temp () |
Variables | |
| const unsigned int | MAXLURL = 1024 |
| const unsigned int | MAXLCONDENSADO = 64 |
| const unsigned int | MAXLHEX = 8 |
| const int | MAXL128B = 5 |
| const int | MAXLNUMERO = MAXL128B |
| const int | MAXLDEC = 10 |
| const unsigned int | MAXCAD = 32 |
| const string | MARCAIND = "Mt77:ÃndiceP5" |
| const string | MARCAREL = "Mt77:relaciónP5" |
| const char | FINCADENA = '{' |
Definición en el archivo comun.hpp.
| #define ASSERT | ( | x | ) |
Valor:
if (! (x)) \ { \ stringstream _sa; _sa.clear(); _sa.str(""); \ _sa << __FILE__ << ":" << __LINE__ << "Falló aserción " << #x << " \n"; \ throw std::string(_sa.str()); \ }
Definición en la lÃnea 27 del archivo comun.hpp.
Referenciado por analizaConsulta(), car_utf8_a_latin1(), codifica_binaria_minima(), codifica_elias_gama(), codifica_unario(), copiaPos(), decodifica_binaria_minima(), decodifica_elias_gama(), decodifica_unario(), Doc::Doc(), eliminaDoc(), Esc::Esc(), escribe128b(), escribe_elias_gama(), escribe_elias_gama2(), escribeCopiaNodo(), escribeCopiaNodoRam(), escribeCopiaSubarbol(), escribeDocs(), escribeHex(), escribeNodo(), escribePlano(), escribePos(), escribeRelacion(), guarda_resconsulta(), indexa(), NodoTrieS::inserta(), NodoTrieS::insertaConEtiqueta(), lee_elias_gama2(), lee_resconsulta(), leeHTML(), leeODT(), leePDF(), leePos(), leeRelacion(), leeTexto(), leeXML(), listaPalabras(), long_elias_gama(), longPos(), main(), mezcla(), mezclaDiscoRam(), mezclaDocs(), mezclaDosDisco(), mezclaRec(), NodoTrieS::NodoTrieS(), Esc::operator()(), piso_logb2(), pone_un_entero(), Pos::Pos(), posAstringYBorra(), pot2(), prefijoASitio(), TrieSDiscoCasoPrueba::prueba_escribeCopiaSubarbol(), realizaBusqueda(), NodoTrieS::renumeraDocs(), techo_logb2(), toma_un_entero(), utf8_a_latin1(), y verificaNombre().
| unsigned long c_n128b | ( | string | s | ) |
Convierte número en base 128 a entero
| s | Cadena con númro en base 128 |
| int car_utf8_a_latin1 | ( | const char * | u8, | |
| char * | latin1 | |||
| ) |
Convierte primer caracter de cadena u8 con codificación UTF-8 al caracter que le corresponde en codificación latin1. Inspirado en
| u8 | Cadena en UTF-8 | |
| latin1 | Caracter de salida |
Definición en la lÃnea 342 del archivo comun.cpp.
Hace referencia a ASSERT.
Referenciado por comunCasoPrueba::prueba_car_utf8_a_latin1(), y utf8_a_latin1().
| string directorio_temp | ( | ) |
Crea un directorio temporal y retorna su nombre. Basado en pagina man de mktemp.
Definición en la lÃnea 388 del archivo comun.cpp.
Referenciado por leePDF(), prepara(), y comunCasoPrueba::prueba_directorio_temp().
| std::string errorFormato | ( | std::istream & | is, | |
| string | m | |||
| ) |
Retorna cadena de error con posición de is
| is | Flujo de entrada | |
| m | Cadena con error |
Definición en la lÃnea 97 del archivo comun.cpp.
Referenciado por buscaPlano(), lee128b(), lee_elias_gama(), lee_elias_gama2(), leeCad(), leeDocs(), leeHex(), leePlanoStream(), leePos(), leeRelacion(), comunCasoPrueba::prueba_errorFormato(), realizaBusqueda(), y verificaIndice().
| void escribe128b | ( | std::ostream & | os, | |
| unsigned long | n | |||
| ) |
Escribe en os un entero en base 128.
| os | Flujo de salida | |
| n | Número por escribir en base 128 |
Definición en la lÃnea 170 del archivo comun.cpp.
Hace referencia a ASSERT, y MAXL128B.
Referenciado por escribeNDesp(), y comunCasoPrueba::prueba_escribe128b().
| void escribeHex | ( | std::ostream & | os, | |
| unsigned long | n | |||
| ) |
Escribe en os un entero como hexadecimal de 8 digitos.
| os | Flujo de salida | |
| n | Número por escribir como hexadecimla de 8 dÃgitos |
Definición en la lÃnea 163 del archivo comun.cpp.
Hace referencia a ASSERT.
Referenciado por comunCasoPrueba::prueba_escribeHex().
| void escribeNDesp | ( | std::ostream & | os, | |
| unsigned long | n | |||
| ) | [inline] |
Escribe un número en el formato escogido para desplazamientos
| os | Flujo de salida | |
| n | Número por escribir |
Definición en la lÃnea 203 del archivo comun.hpp.
Hace referencia a escribe128b().
Referenciado por escribeCopiaSubarbol(), escribeCopiaSubarbolRam(), escribeNodo(), guarda_resconsulta(), mezclaDiscoRam(), y mezclaRec().

| vector<string> estalla | ( | const string & | delimitador, | |
| const string & | cad | |||
| ) |
Divide una cadena de acuerdo a un delimitador
| delimitador | subcadena que marca donde dividir | |
| cad | Cadena por dividir |
Definición en la lÃnea 36 del archivo comun.cpp.
Referenciado por analizaConsulta(), indexa(), comunCasoPrueba::prueba_estalla(), y realizaBusqueda().
| long lee128b | ( | std::istream & | is | ) | throw (string) |
Lee un número en base 128. Cada digito es un caracter entre '0' (ASCII 48) y el de ASCII 175. Con 5 dÃgitos de estos puede representarse más de 4294967295 = 0xFFFFFFFF
| is | flujo de entrada |
Definición en la lÃnea 188 del archivo comun.cpp.
Hace referencia a errorFormato(), y MAXL128B.
Referenciado por leeNDesp(), muestraStream(), y comunCasoPrueba::prueba_lee128b().

| string leeCad | ( | std::istream & | is | ) | throw (string) |
Lee una cadena
| is | flujo de entrada |
Definición en la lÃnea 106 del archivo comun.cpp.
Hace referencia a errorFormato(), FINCADENA, y MAXCAD.
Referenciado por buscaPlanoStream(), escribeCopiaNodo(), escribeCopiaSubarbol(), main(), mezclaDiscoRam(), mezclaRec(), muestraStream(), y comunCasoPrueba::prueba_leeCad().

| long leeHex | ( | std::istream & | is | ) | throw (string) |
Lee un número hexadecimal
| is | flujo de entrada |
Definición en la lÃnea 132 del archivo comun.cpp.
Hace referencia a errorFormato(), y MAXLHEX.
Referenciado por comunCasoPrueba::prueba_leeHex().

| long leeNDesp | ( | std::istream & | is | ) | throw (std::string) [inline] |
Lee un número en formato escogido para desplazamientos
| is | flujo de entrada |
Definición en la lÃnea 191 del archivo comun.hpp.
Hace referencia a lee128b().
Referenciado por buscaPlanoStream(), escribeCopiaNodo(), escribeCopiaSubarbol(), lee_resconsulta(), leePlanoStream(), main(), mezclaDiscoRam(), y mezclaRec().

| unsigned int long128b | ( | unsigned long | n | ) | [inline] |
| unsigned int longNDesp | ( | unsigned long | n | ) | [inline] |
Retorna longitud del número n al escribirlo con escribeNDesp
Definición en la lÃnea 213 del archivo comun.hpp.
Hace referencia a MAXL128B.
Referenciado por precalcula_escribe_actual().
| string n128b_c | ( | unsigned long | n | ) |
| string normaliza | ( | string | s | ) |
Normaliza cadena
| s | Cadena por normalizar |
Definición en la lÃnea 316 del archivo comun.cpp.
Hace referencia a MAXCAD, y normalizaCaracter().
Referenciado por analizaConsulta(), indexa(), NodoTrieS::insertaConEtiqueta(), insertaNormalizada(), leeTexto(), y comunCasoPrueba::prueba_normaliza().

| string normalizaCaracter | ( | char | c | ) |
Normaliza caracter
| c | Caracter |
unsigned long c_n128b(string s) { std::stringstream ss; ss.str(s); unsigned long n = lee128b(ss); return n; }
Definición en la lÃnea 236 del archivo comun.cpp.
Referenciado por NodoTrieS::insertaConEtiqueta(), normaliza(), y comunCasoPrueba::prueba_normalizaCaracter().
| std::ostream& operator<< | ( | std::ostream & | os, | |
| set< T > | c | |||
| ) | [inline] |
| string prefijo_comun_mas_largo | ( | string | a, | |
| string | b | |||
| ) |
Retorna el prefijo común más largo de dos cadenas
| a | Primera cadena | |
| b | Segunda cadena |
Definición en la lÃnea 89 del archivo comun.cpp.
Hace referencia a MAXCAD.
Referenciado por NodoTrieS::inserta(), mezcla(), mezclaDiscoRam(), mezclaRec(), y comunCasoPrueba::prueba_prefijo_comun_mas_largo().
| string utf8_a_latin1 | ( | const char * | u8, | |
| int | len | |||
| ) |
Convierte cadena u8 con codificación UTF-8 a latin 1 (ISO8859-1).
| u8 | Cadena en UTF-8 | |
| len | Longitud de u8 |
Definición en la lÃnea 367 del archivo comun.cpp.
Hace referencia a ASSERT, y car_utf8_a_latin1().
Referenciado por comunCasoPrueba::prueba_utf8_a_latin1().

| void verificaNombre | ( | const char * | na, | |
| char * | nrel | |||
| ) |
Verifica nombre de Ãndice, y genera nombre de relación de documentos asociada
| na | Nombre de Ãndice | |
| nrel | con espacio para MAXLURL caracteres, retorna nombre de rel. |
Definición en la lÃnea 65 del archivo comun.cpp.
Hace referencia a ASSERT, y MAXLURL.
Referenciado por agregaDoc(), eliminaDoc(), main(), mezclaDosDisco(), comunCasoPrueba::prueba_verificaNombre(), y realizaBusqueda().
| const char FINCADENA = '{' |
Caracter que marca final de una cadena en archivo
Definición en la lÃnea 74 del archivo comun.hpp.
Referenciado por escribeNodo(), leeCad(), y leePlanoStream().
| const string MARCAIND = "Mt77:ÃndiceP5" |
Marca en Ãndice
Definición en la lÃnea 66 del archivo comun.hpp.
Referenciado por agregaDoc(), eliminaDoc(), escribePlano(), main(), mezclaDosDisco(), TrieSDiscoCasoPrueba::prueba_buscaPlanoStream(), TrieSDiscoCasoPrueba::prueba_escribeCopiaSubarbol(), RamDiscoCasoPrueba::prueba_mezclaDiscoRam(), TrieSDiscoCasoPrueba::prueba_mezclarec(), y verificaIndice().
| const string MARCAREL = "Mt77:relaciónP5" |
Marca en relación de documentos
Definición en la lÃnea 70 del archivo comun.hpp.
Referenciado por escribeRelacion(), leeRelacion(), y TrieSDiscoCasoPrueba::prueba_leeRelacion().
| const unsigned int MAXCAD = 32 |
Tamaño máximo de una cadena indexable
Definición en la lÃnea 61 del archivo comun.hpp.
Referenciado por analizaConsulta(), escribeNodo(), NodoTrieS::inserta(), NodoTrieS::insertaConEtiqueta(), insertaNormalizada(), leeCad(), leeTexto(), NodoTrieS::NodoTrieS(), normaliza(), prefijo_comun_mas_largo(), y prefijoASitio().
| const int MAXL128B = 5 |
Máxima longitud de un 128b (número en base 128). Por usar en Ãndice de documento, posición, ``apuntadores'' al archivo
Definición en la lÃnea 49 del archivo comun.hpp.
Referenciado por escribe128b(), lee128b(), long128b(), y longNDesp().
| const unsigned int MAXLCONDENSADO = 64 |
Máxima longitud de un condensado
Definición en la lÃnea 40 del archivo comun.hpp.
Referenciado por Doc::Doc(), y leeDocs().
| const int MAXLDEC = 10 |
| const unsigned int MAXLHEX = 8 |
| const int MAXLNUMERO = MAXL128B |
Máxima longitud de un número en formato escogido para archivo
Definición en la lÃnea 54 del archivo comun.hpp.
Referenciado por mezclaDiscoRam(), y mezclaRec().
| const unsigned int MAXLURL = 1024 |
Máxima longitud de un URL --de documentaos indexables
Definición en la lÃnea 37 del archivo comun.hpp.
Referenciado por agregaDoc(), Doc::Doc(), eliminaDoc(), escribeRelacion(), guarda_resconsulta(), indexa(), lee_resconsulta(), leeDocs(), leeRelacion(), main(), mezclaDosDisco(), operator<<(), DocCasoPrueba::prueba_base(), TrieSDiscoCasoPrueba::prueba_leeRelacion(), comunCasoPrueba::prueba_verificaNombre(), realizaBusqueda(), verificaIndice(), y verificaNombre().
1.5.4