-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathOperaciones.hpp
97 lines (80 loc) · 2.65 KB
/
Operaciones.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/** @file Operaciones.hpp
* Realiza operaciones en un índice.
*
* @package Mt77
* @author Vladimir Támara Patiño. vtamara@pasosdeJesus.org
* Dominio público. 2009. Sin garantías
* http://creativecommons.org/licenses/publicdomain/
* @version $Id: Operaciones.hpp,v 1.7 2010/01/18 16:12:50 vtamara Exp $
*/
#if !defined(Operaciones_hpp)
#define Operaciones_hpp
using namespace std;
#include "RamDisco.hpp"
/**
* Muestra palabras y frecuencias contenidas en un índice.
* @param is Flujo de entrada
* @param pre Prefijo para indentar
*/
void
muestraStream(std::istream &is, string pre); //noexcept(false)
/**
* Lista por salida estándar palabras y frecuencias contenidas en índice.
* @param noma Nombre de archivo con índice
* @param nrel Nombre de archivo con relación de documentos
*/
void listaPalabras(char *noma, char *nrel) noexcept(false);
/**
* Elimina del indice nomind el documento nd y deja resultado en noma
* @param noma Nombre del índice de salida
* @param nomind Nombre del índice de entrada
* @param nd Número de documento a eliminar de nomind
*/
void
eliminaDoc(char *noma, char *nomind, uint32_t nd) noexcept(false);
/**
* De un prefijo convierte a sitio
* @param pref Prefijo
* @return sitio
*/
string prefijoASitio(const char *pref);
/**
* Determina el formato de un archivo
* @param narch Nombre del archivo
* @return Formato
*/
string determinaFormato(string narch);
/**
* Mezcla en disco dos índices
* @param indsal Nombre del índice de salida
* @param ind1 Nombre del primer índice por mezclar
* @param ind2 Nombre del segundo índice por mezclar
* @param nd Posición dentro de ind1 a partir del cual incluir
* los de ind2. Por convención 0 es al final.
*/
void
mezclaDosDisco(const char *indsal, const char *ind1, const char *ind2,
uint32_t nd = 0) noexcept(false);
/**
* Agrega un documento a un índice
*
* @param indsal Indice de salida
* @param inden Indice de entrada
* @param nom Nombre de documento por agregar
* @param metainformacion decide si se agrega o no
* @param pref Prefijo para URL en nombre de documento
* @param nd Número de documento en medio del índice existente en el que se pondrá nuevo documento o 0 para agregar al final
*/
void
agregaDoc(const char *indsal, const char *inden, const char *nom,
bool metainformacion, const char *pref, uint32_t nd);
/**
* Extrae del indice ind, el subindice del documento nd y lo pone en el
* indice salida
* @param ind Indice de entrada
* @param salida indice de salida
* @param nd Numero de documento por extraer del indice de entrada
*/
void
subindice(const char *ind, const char *salida, uint32_t nd);
#endif