11#include "../container/container.hpp"
12#include "../utility/utility.hpp"
13#include "../macros.hpp"
14#include "access_mode.hpp"
15#include "seek_whence.hpp"
16#include "file_win32_impl.hpp"
23hi_export_module(hikogui.file.file);
25hi_export
namespace hi {
inline namespace v1 {
52 return _pimpl->access_mode();
64 return _pimpl->close();
73 return _pimpl->flush();
92 return _pimpl->size();
102 return _pimpl->seek(offset,
whence);
120 return _pimpl->write(data,
size);
132 return _pimpl->read(data,
size);
209 if (
size_ > max_size) {
210 throw io_error(
"read_string() requires the file size to be smaler than max_size.");
seek_whence
The position in the file to seek from.
Definition seek_whence.hpp:14
access_mode
The mode in which way to open a file.
Definition access_mode.hpp:17
@ current
Continue from the current position.
@ begin
Start from the beginning of the file.
@ open_for_read
Default open a file for reading.
@ read
Allow read access to a file.
@ write
Allow write access to a file.
@ other
The gui_event does not have associated data.
DOXYGEN BUG.
Definition algorithm_misc.hpp:20
The HikoGUI namespace.
Definition recursive_iterator.hpp:15
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:378
A File object.
Definition file_intf.hpp:33
void rename(std::filesystem::path const &destination, bool overwrite_existing=true)
Rename an open file.
Definition file_intf.hpp:83
std::size_t read(void *data, std::size_t size)
Read data from a file.
Definition file_intf.hpp:130
std::size_t get_seek()
Get the current seek location.
Definition file_intf.hpp:107
std::string read_string(std::size_t max_size=10 '000 '000)
Read a UTF-8 string from the file.
Definition file_intf.hpp:204
std::size_t seek(std::ptrdiff_t offset, seek_whence whence=seek_whence::begin)
Set the seek location.
Definition file_intf.hpp:100
void write(bstring const &text)
Write data to a file.
Definition file_intf.hpp:160
void write(std::span< std::byte const > bytes)
Write data to a file.
Definition file_intf.hpp:140
void close()
Close the file.
Definition file_intf.hpp:62
std::size_t size() const
Return the size of the file.
Definition file_intf.hpp:90
void flush()
Flush and block until all data is physically written to disk.
Definition file_intf.hpp:71
void write(bstring_view text)
Write data to a file.
Definition file_intf.hpp:150
file(std::filesystem::path const &path, access_mode access_mode=access_mode::open_for_read)
Open a file at location.
Definition file_intf.hpp:45
bstring read_bstring(std::size_t max_size=10 '000 '000)
Read bytes from the file.
Definition file_intf.hpp:181
void write(std::string_view text)
Write data to a file.
Definition file_intf.hpp:170
void write(void const *data, std::size_t size)
Write data to a file.
Definition file_intf.hpp:118
Exception thrown during I/O on an error.
Definition exception_intf.hpp:173