29 using os_file_handle =
int;
35 static constexpr os_file_handle invalid_handle_value{-1};
40 file_handle()
noexcept
41 : fd_(invalid_handle_value) {}
46 explicit file_handle(os_file_handle
const file_descriptor)
noexcept
47 : fd_(file_descriptor) {}
55 file_handle(file_handle&& other)
noexcept
56 : fd_(std::exchange(other.fd_, invalid_handle_value)) {}
63 auto operator=(file_handle&& other)
noexcept -> file_handle& {
64 file_handle temp{std::move(other)};
65 std::swap(fd_, temp.fd_);
71 file_handle(file_handle
const&) =
delete;
73 auto operator=(file_handle
const&) -> file_handle& =
delete;
78 auto get_fd()
const noexcept -> os_file_handle {
return fd_; }
82 void release()
noexcept { fd_ = invalid_handle_value; }
87 auto valid()
const noexcept ->
bool {
return fd_ != invalid_handle_value; }
97 auto read_at(span<byte> buffer, std::uint64_t
const position)
const noexcept -> result<span<byte>, error_code>;
108 auto write_at(span<byte
const> data, std::uint64_t
const position)
const noexcept
109 -> result<span<byte
const>, error_code>;
117 auto sequential_read(span<byte> buffer)
const noexcept -> result<span<byte>, error_code>;
126 auto sequential_write(span<byte
const> data)
const noexcept -> result<span<byte
const>, error_code>;
134 auto sequential_seek(std::uint64_t
const position)
const noexcept -> result<
void, error_code>;
140 auto flush()
const noexcept -> result<
void, error_code>;
146 auto close()
noexcept -> result<
void, error_code>;
151 auto size()
const noexcept -> result<std::uint64_t, error_code>;
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10