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


CompoundFileWriter.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 COMPOUNDFILEWRITER_H
8#define COMPOUNDFILEWRITER_H
9
10#include "LuceneObject.h"
11
12namespace Lucene {
13
27class LPPAPI CompoundFileWriter : public LuceneObject {
28public:
29 CompoundFileWriter(const DirectoryPtr& dir, const String& name, const CheckAbortPtr& checkAbort = CheckAbortPtr());
31
33
34protected:
35 struct FileEntry {
37 String file;
38
41
43 int64_t dataOffset;
44 };
45
47 String fileName;
50 bool merged;
52
53public:
56
58 String getName();
59
62 void addFile(const String& file);
63
67 void close();
68
69protected:
72 void copyFile(const FileEntry& source, const IndexOutputPtr& os, ByteArray buffer);
73};
74
75}
76
77#endif
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Utility template class to handle collections that can be safely copied and shared.
Definition: Collection.h:17
Combines multiple files into a single compound file. The file format: VInt fileCount {Directory} file...
Definition: CompoundFileWriter.h:27
DirectoryPtr getDirectory()
Returns the directory of the compound file.
CheckAbortPtr checkAbort
Definition: CompoundFileWriter.h:51
Collection< FileEntry > entries
Definition: CompoundFileWriter.h:49
HashSet< String > ids
Definition: CompoundFileWriter.h:48
DirectoryWeakPtr _directory
Definition: CompoundFileWriter.h:46
String getName()
Returns the name of the compound file.
bool merged
Definition: CompoundFileWriter.h:50
void copyFile(const FileEntry &source, const IndexOutputPtr &os, ByteArray buffer)
Copy the contents of the file with specified extension into the provided output stream....
CompoundFileWriter(const DirectoryPtr &dir, const String &name, const CheckAbortPtr &checkAbort=CheckAbortPtr())
void addFile(const String &file)
Add a source stream. file is the string by which the sub-stream will be known in the compound stream.
String fileName
Definition: CompoundFileWriter.h:47
void close()
Merge files with the extensions added up to now. All files with these extensions are combined sequent...
Base class for all Lucene classes.
Definition: LuceneObject.h:31
Definition: AbstractAllTermDocs.h:12
boost::weak_ptr< Directory > DirectoryWeakPtr
Definition: LuceneTypes.h:489
boost::shared_ptr< Directory > DirectoryPtr
Definition: LuceneTypes.h:489
boost::shared_ptr< IndexOutput > IndexOutputPtr
Definition: LuceneTypes.h:494
boost::shared_ptr< CheckAbort > CheckAbortPtr
Definition: LuceneTypes.h:94
Definition: CompoundFileWriter.h:35
int64_t dataOffset
temporary holder for the start of this file's data section
Definition: CompoundFileWriter.h:43
String file
source file
Definition: CompoundFileWriter.h:37
int64_t directoryOffset
temporary holder for the start of directory entry for this file
Definition: CompoundFileWriter.h:40

clucene.sourceforge.net