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

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TermsHashPerThread.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 TERMSHASHPERTHREAD_H
8 #define TERMSHASHPERTHREAD_H
9
10 #include "InvertedDocConsumerPerThread.h"
11
12 namespace Lucene
13 {
14 class TermsHashPerThread : public InvertedDocConsumerPerThread
15 {
16 public:
17 TermsHashPerThread(DocInverterPerThreadPtr docInverterPerThread, TermsHashPtr termsHash, TermsHashPtr nextTermsHash, TermsHashPerThreadPtr primaryPerThread);
18 virtual ~TermsHashPerThread();
19
20 LUCENE_CLASS(TermsHashPerThread);
21
22 public:
23 DocInverterPerThreadWeakPtr _docInverterPerThread;
24 TermsHashWeakPtr _termsHash;
25 TermsHashPtr nextTermsHash;
26 TermsHashPerThreadWeakPtr _primaryPerThread;
27 TermsHashConsumerPerThreadPtr consumer;
28 TermsHashPerThreadPtr nextPerThread;
29
30 CharBlockPoolPtr charPool;
31 IntBlockPoolPtr intPool;
32 ByteBlockPoolPtr bytePool;
33 bool primary;
34 DocStatePtr docState;
35
36 Collection<RawPostingListPtr> freePostings;
37 int32_t freePostingsCount;
38
39 public:
40 virtual void initialize();
41
42 virtual InvertedDocConsumerPerFieldPtr addField(DocInverterPerFieldPtr docInverterPerField, FieldInfoPtr fieldInfo);
43 virtual void abort();
44
46 void morePostings();
47
48 virtual void startDocument();
49 virtual DocWriterPtr finishDocument();
50
52 void reset(bool recyclePostings);
53
54 protected:
55 static bool noNullPostings(Collection<RawPostingListPtr> postings, int32_t count, const String& details);
56 };
57 }
58
59 #endif

clucene.sourceforge.net