7 #ifndef FIELDCOMPARATOR_H
8 #define FIELDCOMPARATOR_H
53 virtual int32_t compare(int32_t slot1, int32_t slot2) = 0;
58 virtual void setBottom(int32_t slot) = 0;
69 virtual int32_t compareBottom(int32_t doc) = 0;
75 virtual void copy(int32_t slot, int32_t doc) = 0;
81 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase) = 0;
85 virtual void setScorer(
const ScorerPtr& scorer);
90 virtual ComparableValue value(int32_t slot) = 0;
93 template <
typename TYPE>
112 virtual int32_t
compare(int32_t slot1, int32_t slot2) {
120 virtual void copy(int32_t slot, int32_t doc) {
128 virtual ComparableValue
value(int32_t slot) {
129 return ComparableValue(
values[slot]);
145 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
160 virtual int32_t compareBottom(int32_t doc);
161 virtual void copy(int32_t slot, int32_t doc);
162 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
177 virtual int32_t compare(int32_t slot1, int32_t slot2);
178 virtual int32_t compareBottom(int32_t doc);
179 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
194 virtual int32_t compare(int32_t slot1, int32_t slot2);
195 virtual int32_t compareBottom(int32_t doc);
196 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
211 virtual int32_t compare(int32_t slot1, int32_t slot2);
212 virtual int32_t compareBottom(int32_t doc);
213 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
230 virtual int32_t compare(int32_t slot1, int32_t slot2);
231 virtual int32_t compareBottom(int32_t doc);
232 virtual void copy(int32_t slot, int32_t doc);
233 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
234 virtual void setScorer(
const ScorerPtr& scorer);
253 virtual int32_t compare(int32_t slot1, int32_t slot2);
254 virtual int32_t compareBottom(int32_t doc);
255 virtual void copy(int32_t slot, int32_t doc);
256 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
257 virtual void setBottom(int32_t slot);
258 virtual ComparableValue value(int32_t slot);
290 virtual int32_t compare(int32_t slot1, int32_t slot2);
291 virtual int32_t compareBottom(int32_t doc);
292 virtual void copy(int32_t slot, int32_t doc);
293 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
294 virtual void setBottom(int32_t slot);
295 virtual ComparableValue value(int32_t slot);
297 virtual int32_t getBottomSlot();
298 virtual String getField();
301 void convert(int32_t slot);
302 int32_t binarySearch(
Collection<String> lookup,
const String& key, int32_t low, int32_t high);
321 virtual int32_t compare(int32_t slot1, int32_t slot2);
322 virtual int32_t compareBottom(int32_t doc);
323 virtual void copy(int32_t slot, int32_t doc);
324 virtual void setNextReader(
const IndexReaderPtr& reader, int32_t docBase);
325 virtual void setBottom(int32_t slot);
326 virtual ComparableValue value(int32_t slot);