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


Loading...
Searching...
No Matches
RAMOutputStream.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 RAMOUTPUTSTREAM_H
8#define RAMOUTPUTSTREAM_H
9
10#include "IndexOutput.h"
11
12namespace Lucene {
13
15class LPPAPI RAMOutputStream : public IndexOutput {
16public:
21
23
24public:
25 static const int32_t BUFFER_SIZE;
26
27protected:
29 ByteArray currentBuffer;
32 int64_t bufferStart;
33 int32_t bufferLength;
34
35public:
37 void writeTo(const IndexOutputPtr& out);
38
40 void reset();
41
43 virtual void close();
44
47 virtual void seek(int64_t pos);
48
50 virtual int64_t length();
51
54 virtual void writeByte(uint8_t b);
55
60 virtual void writeBytes(const uint8_t* b, int32_t offset, int32_t length);
61
63 virtual void flush();
64
66 virtual int64_t getFilePointer();
67
69 int64_t sizeInBytes();
70
71protected:
74};
75
76}
77
78#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Abstract base class for output to a file in a Directory. A random-access output stream....
Definition IndexOutput.h:18
A memory-resident IndexOutput implementation.
Definition RAMOutputStream.h:15
RAMFilePtr file
Definition RAMOutputStream.h:28
virtual void writeByte(uint8_t b)
Writes a single byte.
int64_t bufferStart
Definition RAMOutputStream.h:32
virtual void close()
Closes this stream to further operations.
ByteArray currentBuffer
Definition RAMOutputStream.h:29
RAMOutputStream()
Construct an empty output buffer.
int32_t currentBufferIndex
Definition RAMOutputStream.h:30
virtual int64_t getFilePointer()
Returns the current position in this file, where the next write will occur.
void reset()
Resets this to an empty file.
virtual void seek(int64_t pos)
Sets current position in this file, where the next write will occur.
int32_t bufferPosition
Definition RAMOutputStream.h:31
virtual int64_t length()
The number of bytes in the file.
int64_t sizeInBytes()
Returns byte usage of all buffers.
RAMOutputStream(const RAMFilePtr &f)
void writeTo(const IndexOutputPtr &out)
Copy the current contents of this buffer to the named output.
int32_t bufferLength
Definition RAMOutputStream.h:33
virtual void flush()
Forces any buffered output to be written.
static const int32_t BUFFER_SIZE
Definition RAMOutputStream.h:25
virtual void writeBytes(const uint8_t *b, int32_t offset, int32_t length)
Writes an array of bytes.
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< IndexOutput > IndexOutputPtr
Definition LuceneTypes.h:494
boost::shared_ptr< RAMFile > RAMFilePtr
Definition LuceneTypes.h:506

clucene.sourceforge.net