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


Loading...
Searching...
No Matches
RAMDirectory.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 RAMDIRECTORY_H
8#define RAMDIRECTORY_H
9
10#include "Directory.h"
11
12namespace Lucene {
13
17class LPPAPI RAMDirectory : public Directory {
18public:
21
32
33 RAMDirectory(const DirectoryPtr& dir, bool closeDir);
34
35 virtual ~RAMDirectory();
36
38
39INTERNAL:
40 int64_t _sizeInBytes;
41 MapStringRAMFile fileMap;
42
43protected:
47
48public:
49 virtual void initialize();
50
53
55 virtual bool fileExists(const String& name);
56
58 virtual uint64_t fileModified(const String& name);
59
61 virtual void touchFile(const String& name);
62
64 virtual int64_t fileLength(const String& name);
65
68 int64_t sizeInBytes();
69
71 virtual void deleteFile(const String& name);
72
75 virtual IndexOutputPtr createOutput(const String& name);
76
78 virtual IndexInputPtr openInput(const String& name);
79
81 virtual void close();
82};
83
84}
85
86#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
A Directory is a flat list of files. Files may be written once, when they are created....
Definition Directory.h:18
Utility template class to handle hash set collections that can be safely copied and shared.
Definition HashSet.h:17
A memory-resident Directory implementation. Locking implementation is by default the SingleInstanceLo...
Definition RAMDirectory.h:17
virtual bool fileExists(const String &name)
Returns true if a file with the given name exists.
virtual HashSet< String > listAll()
Returns an array of strings, one for each file in the directory.
virtual uint64_t fileModified(const String &name)
Returns the time the named file was last modified.
virtual int64_t fileLength(const String &name)
Returns the length of a file in the directory.
RAMDirectory(const DirectoryPtr &dir, bool closeDir)
RAMDirectory()
Constructs an empty Directory.
bool copyDirectory
Definition RAMDirectory.h:45
virtual void touchFile(const String &name)
Set the modified time of an existing file to now.
virtual void close()
Closes the store.
virtual void initialize()
Called directly after instantiation to create objects that depend on this object being fully construc...
virtual void deleteFile(const String &name)
Removes an existing file in the directory.
MapStringRAMFile fileMap
Definition RAMDirectory.h:41
int64_t sizeInBytes()
Return total size in bytes of all files in this directory. This is currently quantized to RAMOutputSt...
virtual IndexOutputPtr createOutput(const String &name)
Creates a new, empty file in the directory with the given name. Returns a stream writing this file.
virtual IndexInputPtr openInput(const String &name)
Returns a stream reading an existing file.
RAMDirectory(const DirectoryPtr &dir)
Creates a new RAMDirectory instance from a different Directory implementation. This can be used to lo...
DirectoryWeakPtr _dirSource
Definition RAMDirectory.h:44
bool closeDir
Definition RAMDirectory.h:46
Definition AbstractAllTermDocs.h:12
boost::weak_ptr< Directory > DirectoryWeakPtr
Definition LuceneTypes.h:489
boost::shared_ptr< IndexInput > IndexInputPtr
Definition LuceneTypes.h:493
boost::shared_ptr< Directory > DirectoryPtr
Definition LuceneTypes.h:489
boost::shared_ptr< IndexOutput > IndexOutputPtr
Definition LuceneTypes.h:494

clucene.sourceforge.net