Joedb 10.0.1
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
Memory_File.h
Go to the documentation of this file.
1#ifndef joedb_Memory_File_declared
2#define joedb_Memory_File_declared
3
5
6#include <string>
7
8namespace joedb
9{
10 /// @ingroup journal
12 {
13 protected:
14 std::string data;
15
16 public:
18
19 void resize(size_t size) {data.resize(size);}
20 std::string &get_data() {return data;}
21 const std::string &get_data() const {return data;}
22 std::string move_data() const {return std::move(data);}
23
24 int64_t get_size() const override {return int64_t(data.size());}
25 size_t pread(char *buffer, size_t size, int64_t offset) const override;
26 void pwrite(const char *buffer, size_t size, int64_t offset) override;
27
28 ~Memory_File() override;
29 };
30}
31
32#endif
const std::string & get_data() const
Definition Memory_File.h:21
void pwrite(const char *buffer, size_t size, int64_t offset) override
Write a range of bytes. Extend file size if necessary.
std::string & get_data()
Definition Memory_File.h:20
size_t pread(char *buffer, size_t size, int64_t offset) const override
Read a range of bytes.
void resize(size_t size)
Definition Memory_File.h:19
std::string move_data() const
Definition Memory_File.h:22
std::string data
Definition Memory_File.h:14
int64_t get_size() const override
Get the size of the file, or -1 if it is unknown.
Definition Memory_File.h:24
~Memory_File() override
Open_Mode
Definition Open_Mode.h:8
@ create_new
fails if already exists, locks the file for writing
Definition Blob.h:7