00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00039
#ifndef _CDOCUMENTFREQUENCYELEMENT
00040
#define _CDOCUMENTFREQUENCYELEMENT
00041
#include "libGIFTAcInvertedFile/include/uses-declarations.h"
00042
#include <iostream>
00043
#include <functional>
00044
#include "libMRML/include/TID.h"
00045
00047 class CDocumentFrequencyElement{
00048
struct{
00050 TID mID;
00052
float mDocumentFrequency;
00053 } mContent;
00054
public:
00062
CDocumentFrequencyElement();
00063
00071
CDocumentFrequencyElement(TID inID,
00072
float inDocumentFrequency);
00073
00079
CDocumentFrequencyElement(istream& inStream);
00080
00086
CDocumentFrequencyElement(
const CDocumentFrequencyElement& inElement);
00087
00094
00097
00099
bool input(istream& inStream);
00100
00106
bool output(ostream& outStream)
const;
00107
00113
bool writeBinary(ostream& outStream)
const;
00114
00116
00124 TID getID()
const;
00125
00131
unsigned int getIntegerDocumentFrequency()
const;
00132
00138
float getDocumentFrequency()
const;
00139
00145
void setDocumentFrequency(
float);
00146
00152
void divideDocumentFrequency(
float);
00153
00155
00156 };
00157
00158
00167 class CSortByID_DFE:
00168
public binary_function
00169 <CDocumentFrequencyElement,CDocumentFrequencyElement,bool>{
00170
public:
00172 inline bool operator()(
const CDocumentFrequencyElement& l,
00173
const CDocumentFrequencyElement& t){
00174
return l.
getID()<t.
getID();
00175 }
00176 };
00177
00178
00179
00187 class CSortByDocumentFrequency_DFE:
00188
public binary_function
00189 <CDocumentFrequencyElement,CDocumentFrequencyElement,bool>{
00190
public:
00192
inline bool operator()(
const CDocumentFrequencyElement& l,
00193
const CDocumentFrequencyElement& t){
00194
return t.
getDocumentFrequency()<l.
getDocumentFrequency();
00195 }
00196 };
00197
00198
#endif
00199
00200