41class directory_handle {
44 using os_directory_handle =
int;
48 directory_handle()
noexcept
49 : raw_handle_{file_handle::invalid_handle_value},
55 explicit directory_handle(file_handle source_handle);
62 directory_handle(directory_handle&& source)
noexcept
63 : raw_handle_(std::exchange(source.raw_handle_, file_handle::invalid_handle_value)),
65 handle_(std::exchange(source.handle_,
nullptr)) {}
71 auto operator=(directory_handle&& source)
noexcept -> directory_handle&;
74 auto valid()
const noexcept ->
bool {
return raw_handle_ != file_handle::invalid_handle_value; }
78 directory_handle(directory_handle
const&) =
delete;
80 auto operator=(directory_handle
const&) -> directory_handle& =
delete;
86 auto rewind()
noexcept -> result<
void, error_code>;
94 auto next_entry()
noexcept -> result<null_terminated_string_view, error_code>;
103 auto create_subdirectory(null_terminated_string_view
const dir_name)
const noexcept -> result<
void, error_code>;
114 static auto open(null_terminated_string_view
const path)
noexcept -> result<directory_handle, error_code>;
123 auto open_subdirectory(null_terminated_string_view
const relative_name)
const noexcept
124 -> result<directory_handle, error_code>;
135 auto get_file_stats(null_terminated_string_view
const relative_name)
const noexcept
136 -> result<
struct stat, error_code>;
139 enum class unlink_type : std::uint8_t {
156 auto unlink_entry(null_terminated_string_view
const relative_name, unlink_type
const type)
const noexcept
157 -> result<
void, error_code>;
167 auto open_file(null_terminated_string_view
const relative_name)
const noexcept -> result<file_handle, error_code>;
178 auto open_file(null_terminated_string_view
const relative_name, open_flags
const flags)
const noexcept
179 -> result<file_handle, error_code>;
189 auto create_file(null_terminated_string_view
const relative_name)
const noexcept -> result<file_handle, error_code>;
200 auto create_file(null_terminated_string_view relative_name, create_flags flags)
const noexcept
201 -> result<file_handle, error_code>;
209 auto create_temporary_file()
const noexcept -> result<file_handle, error_code>;
220 auto rename(null_terminated_string_view
const old_name, null_terminated_string_view
const new_name)
const noexcept
221 -> result<
void, error_code>;
230 auto create_temporary_file_directly()
const noexcept -> result<file_handle, error_code>;
233 os_directory_handle raw_handle_;
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10