System documentation of the GNU Image-Finding Tool

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

CDocumentFrequencyList.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 */
00040 #ifndef _CDOCUMENTFREQUENCYLIST
00041 #define _CDOCUMENTFREQUENCYLIST
00042 #include "libGIFTAcInvertedFile/include/uses-declarations.h"
00043 #include "libGIFTAcInvertedFile/include/CDocumentFrequencyElement.h"
00044 
00045 //#define _CDocumentFrequencyListIsVector
00046 //#define _CDocumentFrequencyListIsList
00047 #define _CDocumentFrequencyListIsArray
00048 
00049 #ifdef _CDocumentFrequencyListIsVector
00050 #include <vector>
00051 #else
00052 #include <list>
00053 #endif
00054 
00056 class CDocumentFrequencyList
00057 #ifdef  _CDocumentFrequencyListIsVector
00058 :public vector<CDocumentFrequencyElement>
00059 #endif
00060 #ifdef  _CDocumentFrequencyListIsList
00061 :public list<CDocumentFrequencyElement>
00062 #endif
00063 {
00065   int mSize;
00067   CDocumentFrequencyElement* mEnd;
00068   
00069 #ifdef _CDocumentFrequencyListIsArray
00070   CDocumentFrequencyElement* mContent;
00071 #endif
00072 public:
00078   CDocumentFrequencyList(size_t inSize);
00084   CDocumentFrequencyList();
00090   ~CDocumentFrequencyList();
00097   bool writeBinary(ostream& outStream)const;
00104   bool readBinary(istream& inStream);
00105 #ifdef _CDocumentFrequencyListIsArray
00106 
00107   typedef CDocumentFrequencyElement* iterator;
00109   typedef CDocumentFrequencyElement const* const_iterator;
00111   iterator begin();
00113   iterator end();
00115   const_iterator begin()const;
00117   const_iterator end()const;
00119   size_t size()const;
00121   void setEnd(CDocumentFrequencyElement*);
00122 #endif
00123 };
00124 
00125 #endif

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