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