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


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

clucene.sourceforge.net