System documentation of the GNU Image-Finding Tool

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

CQParallel Class Reference

FIXME: The name WRONGLY suggests that this actually does parallel processing. More...

#include <CQParallel.h>

Inheritance diagram for CQParallel:

CQuery CMagic List of all members.

Public Member Functions

 ~CQParallel ()
 we need to unregister the accessors used
 CQParallel (CAccessorAdminCollection &inAccessorAdminCollection, CAlgorithm &inAlgorithm)
 In fact, what we are doing here is to get ourselves an accessor ACURL2FTS to do a proper fastQuery.
virtual CXMLElementquery (const CXMLElement &inQuery, int inNumberOfInterestingImages, double inDifferenceToBest)
 calls fastQuery for every child, merges the results and translates them back into URLs difficulty: take into account that each child might operate on a different collection.
virtual CIDRelevanceLevelPairList * fastQuery (const CXMLElement &inQuery, int inNumberOfInterestingImages, double inDifferenceToBest)
 FIXME: useless in current scenario.
virtual CXMLElementgetRandomImages (int inNumberOfInterestingImages) const
 get some random images
virtual list< TID > * getAllIDs () const
 get the IDs of all images (handed through to accessor)
virtual list< string > * getAllURLs () const
 get the IDs of all images (handed through to accessor)
virtual list< pair< TID, string > > * getAllIDURLPairs () const
 get the IDs of all images (handed through to accessor)
virtual bool setAlgorithm (CAlgorithm &inAlgorithm)
 set the Algorithm.
void finishInit ()
 it might be necessary to wait until all the children are added before ending the initialisation phase.

Protected Member Functions

virtual void init ()
 Initializer, used by both construcors.

Detailed Description

FIXME: The name WRONGLY suggests that this actually does parallel processing.

It should be relatively quick to add, it is intendend, but it is not yet done.

This is going to be one of our main building blocks. It is a structure which contains a couple of CQuery structures, hands a query through to them, and then unifies the result. In fact this is the center of all this query tree business.

Probably we will put another layer into the class tree: The CQTreeNode, but let's first start.

Important: The basic assumption here is, that all children operate on the same collections. If this is not the case we have to be more careful, and most of all: we have to operate using URLs.

: Wolfgang Müller


Member Function Documentation

virtual CIDRelevanceLevelPairList* CQParallel::fastQuery const CXMLElement inQuery,
int  inNumberOfInterestingImages,
double  inDifferenceToBest
[virtual]
 

FIXME: useless in current scenario.

Generally using IDs instead of URLs (for keeping communication overhead low, when doing things like CORBA).

in this case we simply hand things through. this might be some kind of "take it and translate it" thing. however, at present we save the work.

Implements CQuery.

void CQParallel::finishInit  )  [virtual]
 

it might be necessary to wait until all the children are added before ending the initialisation phase.

This function is called by CAlgorithm.

What we are doing here is to find out the necessary accessor information for each child, and construct an accessor for it.

Reimplemented from CQuery.

virtual bool CQParallel::setAlgorithm CAlgorithm inAlgorithm  )  [virtual]
 

set the Algorithm.

same scheme as in setCollection

Reimplemented from CQuery.


The documentation for this class was generated from the following file:
Need for discussion? Want to contribute? Contact
help-gift@gnu.org Generated using Doxygen