|
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. |