Joedb
9.1.4
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
src
joedb
journal
Readonly_Encoded_File.h
Go to the documentation of this file.
1
#ifndef joedb_Readonly_Encoded_File_declared
2
#define joedb_Readonly_Encoded_File_declared
3
4
#include "
joedb/db/encoded_file/Database.h
"
5
#include "
joedb/journal/Decoder.h
"
6
7
namespace
joedb
8
{
9
/// @ingroup journal
10
class
Readonly_Encoded_File
:
public
Buffered_File
11
{
12
private
:
13
db::encoded_file::Database
&db;
14
const
Buffered_File
&blob_reader;
15
16
mutable
std::vector<char> read_buffer;
17
mutable
db::encoded_file::id_of_buffer
decoded_buffer;
18
19
protected
:
20
Decoder
&
decoder
;
21
22
size_t
pread
(
char
* buffer,
size_t
size,
int64_t
offset)
const override
;
23
24
Readonly_Encoded_File
25
(
26
Decoder
&
decoder
,
27
db::encoded_file::Database
&db,
28
const
Buffered_File
&blob_reader,
29
Open_Mode
mode
30
);
31
32
public
:
33
Readonly_Encoded_File
34
(
35
Decoder
&
decoder
,
36
db::encoded_file::Database
&db,
37
const
Buffered_File
&blob_reader
38
);
39
40
int64_t
get_size
()
const override
;
41
};
42
}
43
44
#endif
Decoder.h
joedb::Buffered_File
Definition
Buffered_File.h:18
joedb::Buffered_File::read
T read()
Definition
Buffered_File.h:156
joedb::Decoder
Definition
Decoder.h:10
joedb::Readonly_Encoded_File
Definition
Readonly_Encoded_File.h:11
joedb::Readonly_Encoded_File::decoder
Decoder & decoder
Definition
Readonly_Encoded_File.h:20
joedb::Readonly_Encoded_File::pread
size_t pread(char *buffer, size_t size, int64_t offset) const override
Definition
Readonly_Encoded_File.cpp:8
joedb::Readonly_Encoded_File::get_size
int64_t get_size() const override
Definition
Readonly_Encoded_File.cpp:90
joedb::db::encoded_file::Database
Store all the tables of the database.
Definition
Database.h:75
joedb::db::encoded_file::id_of_buffer
Strongly-typed wrapper around an integer representing a row of the buffer table.
Definition
ids.h:25
joedb::Open_Mode
Open_Mode
Definition
Open_Mode.h:8
joedb
Definition
Blob.h:7
Database.h
Generated by
1.9.8