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