19 using File = ice::win32::FileHandle;
22# define ISP_PATH_LITERAL(val) L##val
24 using File = ice::unix_::FileHandle;
27# define ISP_PATH_LITERAL(val) val
62 ice::native_file::FilePath
path
66 ice::native_file::FilePath
path,
72 ice::native_file::FilePath
path,
122 ice::native_file::FilePath,
123 ice::native_file::FilePath,
129 ice::native_file::FilePath starting_dir,
135 ice::native_file::FilePath
path
139 ice::native_file::FilePath
path
143 ice::native_file::HeapFilePath& out_filepath,
148 ice::native_file::FilePath
path,
153 ice::native_file::HeapFilePath&
path,
158 requires (std::convertible_to<Strings, ice::String> && ...)
162 )
noexcept -> ice::native_file::HeapFilePath
164 ice::native_file::HeapFilePath result{
alloc };
Definition expected.hxx:16
struct AIOPortInternal * AIOPort
Definition native_aio.hxx:10
Definition native_file.hxx:11
auto read_file_request(ice::native_aio::AIORequest &request, ice::native_file::File const &native_file, ice::usize requested_read_offset, ice::usize requested_read_size, ice::Memory memory) noexcept -> ice::native_file::FileRequestStatus
static constexpr ErrorCode E_FilePathProvidedIsInvalid
Definition native_file.hxx:14
bool create_directory(ice::native_file::FilePath path) noexcept
static constexpr ErrorCode E_FileHandleInvalid
Definition native_file.hxx:13
auto(*)( ice::native_file::FilePath, ice::native_file::FilePath, ice::native_file::EntityType, void *userdata) noexcept -> ice::native_file::TraverseAction TraversePathCallback
Definition native_file.hxx:121
auto sizeof_file(ice::native_file::File const &native_file) noexcept -> ice::usize
bool exists_file(ice::native_file::FilePath path) noexcept
auto open_file(ice::native_file::FilePath path, ice::native_file::FileOpenFlags flags=FileOpenFlags::Read) noexcept -> ice::native_file::File
PathFlags
Definition native_file.hxx:31
@ Normalized
Definition native_file.hxx:33
@ None
Definition native_file.hxx:32
auto path_from_strings(ice::Allocator &alloc, Strings &&... strings) noexcept -> ice::native_file::HeapFilePath
Definition native_file.hxx:159
static constexpr ErrorCode E_FileFailedToReadRequestedSize
Definition native_file.hxx:16
static constexpr ErrorCode E_FileFailedToBindToAIOPort
Definition native_file.hxx:15
FileRequestStatus
Definition native_file.hxx:55
@ Completed
Definition native_file.hxx:58
@ Pending
Definition native_file.hxx:57
@ Error
Definition native_file.hxx:56
auto write_file(ice::native_file::File const &native_file, ice::usize write_offset, ice::Data data) noexcept -> ice::usize
EntityType
Definition native_file.hxx:119
@ File
Definition native_file.hxx:119
@ Directory
Definition native_file.hxx:119
void path_from_string(ice::native_file::HeapFilePath &out_filepath, ice::String path_string) noexcept
FileOpenFlags
Definition native_file.hxx:37
@ Write
Opens the file for write operations.
Definition native_file.hxx:45
@ Asynchronous
Opens the file for asynchronous read-only operations.
Definition native_file.hxx:51
@ Exclusive
Opens the file in exclusive mode.
Definition native_file.hxx:48
@ Read
Opens the file for read operations.
Definition native_file.hxx:42
void path_join_string(ice::native_file::HeapFilePath &path, ice::String string) noexcept
auto read_file(ice::native_file::File const &native_file, ice::usize requested_read_size, ice::Memory memory) noexcept -> ice::usize
bool traverse_directories(ice::native_file::FilePath starting_dir, ice::native_file::TraversePathCallback callback, void *userdata) noexcept
TraverseAction
Definition native_file.hxx:118
@ Continue
Definition native_file.hxx:118
@ Break
Definition native_file.hxx:118
@ SkipSubDir
Definition native_file.hxx:118
void path_to_string(ice::native_file::FilePath path, ice::HeapString<> &out_string) noexcept
auto write_file_request(ice::native_aio::AIORequest &request, ice::native_file::File const &native_file, ice::usize write_offset, ice::Data data) noexcept -> ice::native_file::FileRequestStatus
auto append_file(ice::native_file::File const &native_file, ice::Data data) noexcept -> ice::usize
bool is_directory(ice::native_file::FilePath path) noexcept
Definition path_utils.hxx:10
ice::BasicString< char > String
Definition string.hxx:82
auto alloc(ice::usize size) noexcept -> ice::AllocResult
ice::AllocatorBase< ice::build::is_debug||ice::build::is_develop > Allocator
Definition mem_types.hxx:25
constexpr bool has_all(T value, T expected_flags) noexcept
Definition enum_flags.hxx:77
std::uint8_t u8
Definition types.hxx:24
Definition path_utils.hxx:161
Definition path_utils.hxx:149
Definition mem_data.hxx:17
Definition heap_string.hxx:15
Definition mem_memory.hxx:13
Definition native_aio.hxx:36
Represents a unsigned size value on the given platform.
Definition mem_size_types.hxx:26