7 #ifndef FIELDCOMPARATOR_H
8 #define FIELDCOMPARATOR_H
54 virtual int32_t compare(int32_t slot1, int32_t slot2) = 0;
59 virtual void setBottom(int32_t slot) = 0;
70 virtual int32_t compareBottom(int32_t doc) = 0;
76 virtual void copy(int32_t slot, int32_t doc) = 0;
82 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase) = 0;
91 virtual ComparableValue value(int32_t slot) = 0;
94 template <
typename TYPE>
116 virtual int32_t
compare(int32_t slot1, int32_t slot2)
126 virtual void copy(int32_t slot, int32_t doc)
136 virtual ComparableValue
value(int32_t slot)
138 return ComparableValue(
values[slot]);
155 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
171 virtual int32_t compareBottom(int32_t doc);
172 virtual void copy(int32_t slot, int32_t doc);
173 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
189 virtual int32_t compare(int32_t slot1, int32_t slot2);
190 virtual int32_t compareBottom(int32_t doc);
191 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
207 virtual int32_t compare(int32_t slot1, int32_t slot2);
208 virtual int32_t compareBottom(int32_t doc);
209 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
225 virtual int32_t compare(int32_t slot1, int32_t slot2);
226 virtual int32_t compareBottom(int32_t doc);
227 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
245 virtual int32_t compare(int32_t slot1, int32_t slot2);
246 virtual int32_t compareBottom(int32_t doc);
247 virtual void copy(int32_t slot, int32_t doc);
248 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
249 virtual void setScorer(
ScorerPtr scorer);
269 virtual int32_t compare(int32_t slot1, int32_t slot2);
270 virtual int32_t compareBottom(int32_t doc);
271 virtual void copy(int32_t slot, int32_t doc);
272 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
273 virtual void setBottom(int32_t slot);
274 virtual ComparableValue value(int32_t slot);
307 virtual int32_t compare(int32_t slot1, int32_t slot2);
308 virtual int32_t compareBottom(int32_t doc);
309 virtual void copy(int32_t slot, int32_t doc);
310 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
311 virtual void setBottom(int32_t slot);
312 virtual ComparableValue value(int32_t slot);
314 virtual int32_t getBottomSlot();
315 virtual String getField();
318 void convert(int32_t slot);
319 int32_t binarySearch(
Collection<String> lookup,
const String& key, int32_t low, int32_t high);
339 virtual int32_t compare(int32_t slot1, int32_t slot2);
340 virtual int32_t compareBottom(int32_t doc);
341 virtual void copy(int32_t slot, int32_t doc);
342 virtual void setNextReader(
IndexReaderPtr reader, int32_t docBase);
343 virtual void setBottom(int32_t slot);
344 virtual ComparableValue value(int32_t slot);