20 #ifndef GAIA_SEARCHSPACEPOOL_H 21 #define GAIA_SEARCHSPACEPOOL_H 24 #include "searchspace.h" 40 template <
typename SearchPo
intType,
typename DataSetType>
65 SearchSpaceType* getAllPoints()
const;
71 void indexOn(
const QString& descriptorName);
76 bool hasIndex(
const QString& descriptorName)
const;
80 const DataSetType* dataset()
const {
return _dataset; }
87 static SearchSpaceType* acquire();
88 static void release(SearchSpaceType* sspace);
91 static QList<SearchSpaceType*> _sspool;
92 static QMutex* _sspoolMutex;
96 const DataSetType* _dataset;
98 SearchSpaceType* _originalSpace;
103 SearchSpaceType* sspace;
106 foreach (
const SearchSpaceType* sspace, sorted)
delete sspace;
108 delete sspace; sspace = 0;
111 SearchSpaceType* getSubSpaceInto(SearchSpaceType* result,
112 int start,
int end)
const;
120 SearchSpaceType* sspace;
122 void clear() {
delete sspace; sspace = 0; ranges.clear(); }
129 int getCuttingPos(
const SearchSpaceType& sspace,
130 int idx,
int type, Real value,
int start,
int end)
const;
133 void indexOnValue(
const QString& descriptorName);
136 void indexOnLabel(
const QString& descriptorName);
139 void indexOnEnum(
const QString& descriptorName);
145 #include "searchspacepool_impl.h" 154 #endif // GAIA_SEARCHSPACEPOOL_H Definition: parsertypes.h:40
Map class (derived from QMap) but that throws a custom Exception instead of returning a default const...
Definition: types.h:143
The QueryOptimizer class tries to optimize a query by reducing the SearchSpace on which it is suppose...
Definition: parsertypes.h:30
Main Gaia namespace, which contains all the library functions.
Definition: addfield.cpp:22
A SearchSpace is a structure dedicated to the task of storing pointers to Point with an associated di...
Definition: searchspace.h:91
The SearchSpacePool accomplishes 2 main functions:
Definition: searchspacepool.h:41
Definition: searchspacepool.h:100
Definition: searchspacepool.h:117