Lucene++ - a full-featured, c++ search engine
API Documentation


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
NearSpansOrdered.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2011 Alan Wright. All rights reserved.
3 // Distributable under the terms of either the Apache License (Version 2.0)
4 // or the GNU Lesser General Public License.
6 
7 #ifndef NEARSPANSORDERED_H
8 #define NEARSPANSORDERED_H
9 
10 #include "Spans.h"
11 
12 namespace Lucene
13 {
31  class LPPAPI NearSpansOrdered : public Spans
32  {
33  public:
34  NearSpansOrdered(SpanNearQueryPtr spanNearQuery, IndexReaderPtr reader, bool collectPayloads = true);
35  virtual ~NearSpansOrdered();
36 
38 
39  protected:
40  int32_t allowedSlop;
41  bool firstTime;
42  bool more;
43 
46 
48  bool inSameDoc;
49 
50  int32_t matchDoc;
51  int32_t matchStart;
52  int32_t matchEnd;
54 
58 
59  public:
60  virtual int32_t doc();
61  virtual int32_t start();
62  virtual int32_t end();
63 
64  Collection<SpansPtr> getSubSpans();
65 
66  virtual Collection<ByteArray> getPayload();
67  virtual bool isPayloadAvailable();
68  virtual bool next();
69  virtual bool skipTo(int32_t target);
70 
74  static bool docSpansOrdered(SpansPtr spans1, SpansPtr spans2);
75 
76  virtual String toString();
77 
78  protected:
82  bool advanceAfterOrdered();
83 
85  bool toSameDoc();
86 
87  // Like {@link #docSpansOrdered(SpansPtr, SpansPtr)}, but use the spans starts and ends as parameters.
88  static bool docSpansOrdered(int32_t start1, int32_t end1, int32_t start2, int32_t end2);
89 
91  bool stretchToOrder();
92 
95  bool shrinkToAfterShortestMatch();
96  };
97 }
98 
99 #endif

clucene.sourceforge.net