LLFIO  v2.00
file_handle.hpp File Reference

Provides file_handle. More...

#include "lockable_byte_io_handle.hpp"
#include "path_discovery.hpp"
#include "utils.hpp"

Classes

class  llfio_v2_xxx::file_handle
 A handle to a regular file or device. More...
 
struct  llfio_v2_xxx::file_handle::extent_pair
 A pair of valid extents. More...
 
struct  llfio_v2_xxx::construct< file_handle >
 Constructor for file_handle More...
 

Namespaces

 llfio_v2_xxx
 The LLFIO namespace.
 

Functions

void llfio_v2_xxx::swap (file_handle &self, file_handle &o) noexcept
 Swap with another instance.
 
result< file_handle > llfio_v2_xxx::file (const path_handle &base, file_handle::path_view_type path, file_handle::mode _mode=file_handle::mode::read, file_handle::creation _creation=file_handle::creation::open_existing, file_handle::caching _caching=file_handle::caching::all, file_handle::flag flags=file_handle::flag::none) noexcept
 
result< file_handle > llfio_v2_xxx::uniquely_named_file (const path_handle &dirpath, file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept
 
result< file_handle > llfio_v2_xxx::temp_file (file_handle::path_view_type name=file_handle::path_view_type(), file_handle::mode _mode=file_handle::mode::write, file_handle::creation _creation=file_handle::creation::if_needed, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::unlink_on_first_close) noexcept
 
result< file_handle > llfio_v2_xxx::temp_inode (const path_handle &dirh=path_discovery::storage_backed_temporary_files_directory(), file_handle::mode _mode=file_handle::mode::write, file_handle::caching _caching=file_handle::caching::temporary, file_handle::flag flags=file_handle::flag::none) noexcept
 
file_handle::io_result< file_handle::size_type > llfio_v2_xxx::read (file_handle &self, file_handle::extent_type offset, std::initializer_list< file_handle::buffer_type > lst, deadline d=deadline()) noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
result< file_handle::extent_type > llfio_v2_xxx::maximum_extent (const file_handle &self) noexcept
 
result< file_handle::extent_type > llfio_v2_xxx::truncate (file_handle &self, file_handle::extent_type newsize) noexcept
 
result< std::vector< file_handle::extent_pair > > llfio_v2_xxx::extents (const file_handle &self) noexcept
 Returns a list of currently valid extents for this open file. WARNING: racy!
 
result< file_handle::extent_type > llfio_v2_xxx::zero (file_handle &self, file_handle::extent_type offset, file_handle::extent_type bytes, deadline d=deadline()) noexcept
 Efficiently zero, and possibly deallocate, data on storage. More...
 

Detailed Description

Provides file_handle.