SDL3pp
A slim C++ wrapper for SDL3
|
The asynchronous I/O operation structure. More...
Public Member Functions | |
constexpr | AsyncIO ()=default |
Default ctor. | |
constexpr | AsyncIO (const AsyncIORaw resource) |
Constructs from AsyncIOParam. More... | |
constexpr | AsyncIO (const AsyncIO &other)=delete |
Copy constructor. | |
constexpr | AsyncIO (AsyncIO &&other) |
Move constructor. | |
constexpr | AsyncIO (const AsyncIORef &other)=delete |
constexpr | AsyncIO (AsyncIORef &&other)=delete |
AsyncIO (StringParam file, StringParam mode) | |
Use this function to create a new AsyncIO object for reading from and/or writing to a named file. More... | |
~AsyncIO () | |
Destructor. | |
AsyncIO & | operator= (AsyncIO other) |
Assignment operator. | |
constexpr AsyncIORaw | get () const |
Retrieves underlying AsyncIORaw. | |
constexpr AsyncIORaw | release () |
Retrieves underlying AsyncIORaw and clear this. | |
constexpr auto | operator<=> (const AsyncIO &other) const =default |
Comparison. | |
constexpr bool | operator== (std::nullptr_t _) const |
Comparison. | |
constexpr | operator bool () const |
Converts to bool. | |
constexpr | operator AsyncIOParam () const |
Converts to AsyncIOParam. | |
bool | Close (bool flush, AsyncIOQueueParam queue, void *userdata) |
Close and free any allocated resources for an async I/O object. More... | |
Sint64 | GetSize () |
Use this function to get the size of the data stream in an AsyncIO. More... | |
void | Read (void *ptr, Uint64 offset, Uint64 size, AsyncIOQueueParam queue, void *userdata) |
Start an async read. More... | |
void | Write (void *ptr, Uint64 offset, Uint64 size, AsyncIOQueueParam queue, void *userdata) |
Start an async write. More... | |
This operates as an opaque handle. One can then request read or write operations on it.
|
inlineexplicitconstexpr |
resource | a AsyncIORaw to be wrapped. |
This assumes the ownership, call release() if you need to take back.
|
inline |
The mode
string understands the following values:
There is no "b" mode, as there is only "binary" style I/O, and no "a" mode for appending, since you specify the position when starting a task.
This function supports Unicode filenames, but they must be encoded in UTF-8 format, regardless of the underlying operating system.
This call is not asynchronous; it will open the file before returning, under the assumption that doing so is generally a fast operation. Future reads and writes to the opened file will be async, however.
file | a UTF-8 string representing the filename to open. |
mode | an ASCII string representing the mode to be used for opening the file. |