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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TermAttribute.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 TERMATTRIBUTE_H
8 #define TERMATTRIBUTE_H
9 
10 #include "Attribute.h"
11 
12 namespace Lucene
13 {
15  class LPPAPI TermAttribute : public Attribute
16  {
17  public:
18  TermAttribute();
19  virtual ~TermAttribute();
20 
22 
23  protected:
24  static const int32_t MIN_BUFFER_SIZE;
25 
26  CharArray _termBuffer;
27  int32_t _termLength;
28 
29  public:
30  virtual String toString();
31 
38  virtual String term();
39 
44  virtual void setTermBuffer(const wchar_t* buffer, int32_t offset, int32_t length);
45 
48  virtual void setTermBuffer(const String& buffer);
49 
54  virtual CharArray termBuffer();
55 
57  virtual wchar_t* termBufferArray();
58 
65  virtual CharArray resizeTermBuffer(int32_t newSize);
66 
68  virtual int32_t termLength();
69 
74  virtual void setTermLength(int32_t length);
75 
76  virtual int32_t hashCode();
77  virtual void clear();
78  virtual LuceneObjectPtr clone(LuceneObjectPtr other = LuceneObjectPtr());
79  virtual bool equals(LuceneObjectPtr other);
80  virtual void copyTo(AttributePtr target);
81 
82  protected:
86  void growTermBuffer(int32_t newSize);
87 
88  void initTermBuffer();
89  };
90 }
91 
92 #endif

clucene.sourceforge.net