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


Loading...
Searching...
No Matches
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...
Utility template class to handle hash set collections that can be safely copied and shared.
Definition HashSet.h:17
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