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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IndexOutput.h
Go to the documentation of this file.
1 
2 // Copyright (c) 2009-2014 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 INDEXOUTPUT_H
8 #define INDEXOUTPUT_H
9 
10 #include "LuceneObject.h"
11 
12 namespace Lucene {
13 
18 class LPPAPI IndexOutput : public LuceneObject {
19 public:
20  virtual ~IndexOutput();
21 
23 
24 protected:
25  static const int32_t COPY_BUFFER_SIZE;
26  ByteArray copyBuffer;
27 
28 public:
31  virtual void writeByte(uint8_t b) = 0;
32 
37  virtual void writeBytes(const uint8_t* b, int32_t offset, int32_t length) = 0;
38 
40  virtual void flush() = 0;
41 
43  virtual void close() = 0;
44 
46  virtual int64_t getFilePointer() = 0;
47 
50  virtual void seek(int64_t pos) = 0;
51 
53  virtual int64_t length() = 0;
54 
55 public:
60  void writeBytes(const uint8_t* b, int32_t length);
61 
64  void writeInt(int32_t i);
65 
69  void writeVInt(int32_t i);
70 
73  void writeLong(int64_t i);
74 
78  void writeVLong(int64_t i);
79 
82  void writeString(const String& s);
83 
89  void writeChars(const String& s, int32_t start, int32_t length);
90 
92  void copyBytes(const IndexInputPtr& input, int64_t numBytes);
93 
99  void setLength(int64_t length);
100 
103  void writeStringStringMap(MapStringString map);
104 };
105 
106 }
107 
108 #endif

clucene.sourceforge.net