System documentation of the GNU Image-Finding Tool

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

CQParallel.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 */ 00023 // -*- mode: c++ -*- 00024 #ifndef _CQPARALLEL 00025 #define _CQPARALLEL 00026 #include "libMRML/include/uses-declarations.h" 00027 #include "libMRML/include/CQuery.h" 00028 #include "libMRML/include/CSelfDestroyPointer.h" 00029 // -*- mode: c++ -*- 00049 #include <memory> 00050 #include <map> 00051 #include <list> 00052 #include "libMRML/include/CSelfDestroyPointer.h" 00053 #include "libMRML/include/CIDRelevanceLevelPairList.h" 00054 #include "libMRML/include/CRelevanceLevelList.h" 00055 00056 //#include "CWeightingFunctionPointerList.h" 00057 //#include "CWeightingFunctionPointerHash.h" 00058 00059 #include "libMRML/include/CAlgorithm.h" 00060 #include "libMRML/include/CAccessor.h" 00061 #include "libMRML/include/CAccessorAdminCollection.h" 00062 #include "libMRML/include/CAccessorAdmin.h" 00063 00064 00065 class CScoreBoard; 00066 class CAccessor; 00067 00068 00092 class CQParallel:public CQuery{ 00093 00097 CAccessorAdminCollection& mAccessorAdminCollection; 00098 00100 class lCLocalAccessor{ 00101 public: 00103 CAccessor* mAccessor; 00105 CAccessorAdmin* mAccessorAdmin; 00107 list<lCChildren::iterator> mUsedBy; 00109 CSelfDestroyPointer<map<TID,double> > mUnifiedResults; 00111 double mWeightedSum; 00114 lCLocalAccessor(); 00118 ~lCLocalAccessor(); 00119 }; 00120 00121 00136 class lCLocalAccessorMap:public map<string,lCLocalAccessor>{ 00137 public: 00138 }; 00141 lCLocalAccessorMap mAccessors; 00142 00143 00144 protected: 00150 virtual void init(); 00151 00152 public: 00158 ~CQParallel(); 00163 CQParallel(CAccessorAdminCollection& inAccessorAdminCollection, 00164 CAlgorithm& inAlgorithm); 00165 00174 virtual CXMLElement* query(const CXMLElement& inQuery, 00175 int inNumberOfInterestingImages, 00176 double inDifferenceToBest); 00177 00189 virtual CIDRelevanceLevelPairList* fastQuery(const CXMLElement& inQuery, 00190 int inNumberOfInterestingImages, 00191 double inDifferenceToBest); 00192 00198 virtual CXMLElement* getRandomImages(int inNumberOfInterestingImages)const; 00204 virtual list<TID>* getAllIDs()const; 00210 virtual list<string>* getAllURLs()const; 00216 virtual list<pair<TID,string> >* getAllIDURLPairs()const; 00217 00224 virtual bool setAlgorithm(CAlgorithm& inAlgorithm); 00225 00237 void finishInit(); 00238 00239 }; /* end of class */ 00240 00241 #endif 00242 00243 00244

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