Joedb 9.1.4
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
Abstract_File.h
Go to the documentation of this file.
1#ifndef joedb_Abstract_File_declared
2#define joedb_Abstract_File_declared
3
4#include <stddef.h>
5#include <stdint.h>
6
7namespace joedb
8{
9 /// @ingroup journal
11 {
12 public:
13 virtual int64_t get_size() const {return -1;}
14 virtual size_t pread(char *data, size_t size, int64_t offset) const {return 0;}
15 virtual void pwrite(const char *data, size_t size, int64_t offset) {}
16
17 virtual void sync() {}
18
19 virtual void shared_lock(int64_t start, int64_t size) {}
20 virtual void exclusive_lock(int64_t start, int64_t size) {}
21 virtual void unlock(int64_t start, int64_t size) noexcept {}
22
23 virtual ~Abstract_File() = default;
24 };
25}
26
27#endif
virtual void shared_lock(int64_t start, int64_t size)
virtual int64_t get_size() const
virtual void unlock(int64_t start, int64_t size) noexcept
virtual void sync()
virtual ~Abstract_File()=default
virtual void pwrite(const char *data, size_t size, int64_t offset)
virtual void exclusive_lock(int64_t start, int64_t size)
virtual size_t pread(char *data, size_t size, int64_t offset) const
Definition Blob.h:7