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

IndexOutput.h
Go to the documentation of this file.
1 // 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
22 LUCENE_CLASS(IndexOutput);
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
LuceneObject.h
Lucene::LuceneObject
Base class for all Lucene classes.
Definition: LuceneObject.h:31
Lucene::IndexInputPtr
boost::shared_ptr< IndexInput > IndexInputPtr
Definition: LuceneTypes.h:493
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::IndexOutput
Abstract base class for output to a file in a Directory. A random-access output stream. Used for all Lucene index output operations.
Definition: IndexOutput.h:18
Lucene::IndexOutput::copyBuffer
ByteArray copyBuffer
Definition: IndexOutput.h:26

clucene.sourceforge.net