|
| Portable_File (const char *file_name, Open_Mode mode) |
|
| Portable_File (const std::string &file_name, Open_Mode mode) |
|
| Stream_File (std::streambuf &streambuf, Open_Mode mode) |
|
size_t | pread (char *data, size_t size, int64_t offset) const override |
| Read a range of bytes.
|
|
void | pwrite (const char *data, size_t size, int64_t offset) override |
| Write a range of bytes. Extend file size if necessary.
|
|
int64_t | get_size () const override |
| Get the size of the file, or -1 if it is unknown.
|
|
| Abstract_File (Open_Mode mode) |
|
bool | is_shared () const noexcept |
|
bool | is_readonly () const noexcept |
|
Open_Mode | get_mode () const noexcept |
|
virtual void | sync () |
| Write data durably (including file-size change)
|
|
virtual void | datasync () |
| Write data durably (no file-size change)
|
|
virtual void | shared_lock (int64_t start, int64_t size) |
| Lock a range of bytes for reading (prevents writes, not reads)
|
|
virtual void | exclusive_lock (int64_t start, int64_t size) |
| Lock a range of bytes for writing (prevents both writes and reads)
|
|
virtual void | unlock (int64_t start, int64_t size) noexcept |
| Remove a lock. The range should match the range of a corresponding lock.
|
|
void | exclusive_lock_tail () |
|
void | unlock_tail () noexcept |
|
bool | tail_is_locked () const noexcept |
|
void | shared_lock_head () |
|
void | exclusive_lock_head () |
|
void | unlock_head () noexcept |
|
std::string | read_blob (Blob blob) const |
|
virtual void | copy_to (Abstract_File &destination, int64_t start, int64_t size) const |
|
virtual bool | equal_to (const Abstract_File &destination, int64_t from, int64_t until) const |
|
void | copy_to (Abstract_File &destination) const |
|
virtual | ~Abstract_File ()=default |
|
Definition at line 23 of file Portable_File.h.