22class FileDescriptor
final {
26 static FileDescriptor
Open(
27 const std::string& path,
29 boost::filesystem::perms perms = boost::filesystem::perms::owner_read | boost::filesystem::perms::owner_write
38 static FileDescriptor
AdoptFd(
int fd)
noexcept;
41 static FileDescriptor
DupFd(
int fd)
noexcept;
47 FileDescriptor(FileDescriptor&& other)
noexcept;
48 FileDescriptor& operator=(FileDescriptor&& other)
noexcept;
69 void Write(std::string_view contents);
75 std::size_t
Read(
char* buffer, std::size_t max_size);
79 void Seek(std::size_t offset_in_bytes);
90 explicit FileDescriptor(
int fd);
92 friend class TempFile;