1#ifndef joedb_Windows_File_declared
2#define joedb_Windows_File_declared
15 static const std::array<DWORD, mode_count> desired_access;
16 static const std::array<DWORD, mode_count> share_mode;
17 static const std::array<DWORD, mode_count> creation_disposition;
22 static void throw_last_error
28 enum class Lock_Operation
44 size_t pread(
char* data,
size_t size,
int64_t offset)
const override;
45 void pwrite(
const char* data,
size_t size,
int64_t offset)
override;
static constexpr bool lockable
Windows_File(const std::string &file_name, Open_Mode mode)
void exclusive_lock(int64_t start, int64_t size) override
void pwrite(const char *data, size_t size, int64_t offset) override
int64_t get_size() const override
size_t pread(char *data, size_t size, int64_t offset) const override
Windows_Handle & operator=(const Windows_Handle &)=delete
~Windows_Handle() override
void shared_lock(int64_t start, int64_t size) override
void unlock(int64_t start, int64_t size) noexcept override
Windows_Handle(const Windows_Handle &)=delete
@ mode_count
number of modes