System documentation of the GNU Image-Finding Tool

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

CDocumentFrequencyElement.h

00001 /* -*- mode: c++ -*- 
00002 */
00003 /* 
00004 
00005     GIFT, a flexible content based image retrieval system.
00006     Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva
00007 
00008     This program is free software; you can redistribute it and/or modify
00009     it under the terms of the GNU General Public License as published by
00010     the Free Software Foundation; either version 2 of the License, or
00011     (at your option) any later version.
00012 
00013     This program is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016     GNU General Public License for more details.
00017 
00018     You should have received a copy of the GNU General Public License
00019     along with this program; if not, write to the Free Software
00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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 

Need for discussion? Want to contribute? Contact
help-gift@gnu.org Generated using Doxygen