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

RAMDirectory.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 RAMDIRECTORY_H
8 #define RAMDIRECTORY_H
9
10 #include "Directory.h"
11
12 namespace Lucene {
13
17 class LPPAPI RAMDirectory : public Directory {
18 public:
20 RAMDirectory();
21
31 RAMDirectory(const DirectoryPtr& dir);
32
33 RAMDirectory(const DirectoryPtr& dir, bool closeDir);
34
35 virtual ~RAMDirectory();
36
37 LUCENE_CLASS(RAMDirectory);
38
39 INTERNAL:
40 int64_t _sizeInBytes;
41 MapStringRAMFile fileMap;
42
43 protected:
44 DirectoryWeakPtr _dirSource;
45 bool copyDirectory;
46 bool closeDir;
47
48 public:
49 virtual void initialize();
50
52 virtual HashSet<String> listAll();
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
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::FileUtils::fileModified
LPPAPI uint64_t fileModified(const String &path)
Return file last modified date and time.
Lucene::Directory
A Directory is a flat list of files. Files may be written once, when they are created....
Definition: Directory.h:18
Lucene::FileUtils::touchFile
LPPAPI bool touchFile(const String &path)
Set file last modified date and time to now.
Lucene::DirectoryWeakPtr
boost::weak_ptr< Directory > DirectoryWeakPtr
Definition: LuceneTypes.h:489
Lucene::RAMDirectory::_dirSource
DirectoryWeakPtr _dirSource
Definition: RAMDirectory.h:44
Lucene::RAMDirectory::fileMap
MapStringRAMFile fileMap
Definition: RAMDirectory.h:41
Lucene::FileUtils::fileLength
LPPAPI int64_t fileLength(const String &path)
Return file length in bytes.
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::IndexInputPtr
boost::shared_ptr< IndexInput > IndexInputPtr
Definition: LuceneTypes.h:493
Lucene::HashSet< String >
Lucene::RAMDirectory
A memory-resident Directory implementation. Locking implementation is by default the SingleInstanceLo...
Definition: RAMDirectory.h:17
Lucene::RAMDirectory::closeDir
bool closeDir
Definition: RAMDirectory.h:46
Lucene::RAMDirectory::copyDirectory
bool copyDirectory
Definition: RAMDirectory.h:45
Lucene::DirectoryPtr
boost::shared_ptr< Directory > DirectoryPtr
Definition: LuceneTypes.h:489
Directory.h
Lucene::FileUtils::fileExists
LPPAPI bool fileExists(const String &path)
Return true if given file or directory exists.
Lucene::IndexOutputPtr
boost::shared_ptr< IndexOutput > IndexOutputPtr
Definition: LuceneTypes.h:494

clucene.sourceforge.net