SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
SDL::AsyncIOQueue Struct Reference

A queue of completed asynchronous I/O tasks. More...

Inheritance diagram for SDL::AsyncIOQueue:
[legend]

Public Member Functions

constexpr AsyncIOQueue (AsyncIOQueueRaw resource) noexcept
 Constructs from raw AsyncIOQueue.
constexpr AsyncIOQueue (const AsyncIOQueue &other)=delete
 Copy constructor.
constexpr AsyncIOQueue (AsyncIOQueue &&other) noexcept
 Move constructor.
constexpr AsyncIOQueue (const AsyncIOQueueRef &other)=delete
constexpr AsyncIOQueue (AsyncIOQueueRef &&other)=delete
 AsyncIOQueue ()
 Create a task queue for tracking multiple I/O operations.
 ~AsyncIOQueue ()
 Destructor.
constexpr AsyncIOQueueoperator= (AsyncIOQueue &&other) noexcept
 Assignment operator.
AsyncIOQueueoperator= (const AsyncIOQueue &other)=delete
 Assignment operator.
void Destroy ()
 Destroy a previously-created async I/O task queue.
std::optional< AsyncIOOutcomeGetResult ()
 Query an async I/O task queue for completed tasks.
std::optional< AsyncIOOutcomeWaitResult (Milliseconds timeout)
 Block until an async I/O task queue has a completed task.
std::optional< AsyncIOOutcomeWaitResult ()
 Block until an async I/O task queue has a completed task.
void Signal ()
 Wake up any threads that are blocking in AsyncIOQueue.WaitResult().
constexpr ResourceBase (RawPointer resource)
 Constructs from resource pointer.
constexpr ResourceBase (std::nullptr_t=nullptr)
 Constructs null/invalid.
Public Member Functions inherited from SDL::ResourceBase< AsyncIOQueueRaw >
constexpr ResourceBase (RawPointer resource)
 Constructs from resource pointer.
constexpr operator bool () const
 Converts to bool.
constexpr auto operator<=> (const ResourceBase &other) const=default
 Comparison.
constexpr RawConstPointer operator-> () const noexcept
 member access to underlying resource pointer.
constexpr RawPointer get () const noexcept
 Retrieves underlying resource pointer.
constexpr RawPointer release () noexcept
 Retrieves underlying resource pointer and clear this.

Additional Inherited Members

Public Types inherited from SDL::ResourceBase< AsyncIOQueueRaw >
using RawPointer
 The underlying raw pointer type.
using RawConstPointer
 The underlying const raw pointer type.

Detailed Description

A queue of completed asynchronous I/O tasks.

When starting an asynchronous operation, you specify a queue for the new task. A queue can be asked later if any tasks in it have completed, allowing an app to manage multiple pending tasks in one place, in whatever order they complete.

Since
This struct is available since SDL 3.2.0.
See also
CreateAsyncIOQueue
AsyncIO.Read
AsyncIO.Write
AsyncIOQueue.GetResult
AsyncIOQueue.WaitResult
Category:
Resource

Constructor & Destructor Documentation

◆ AsyncIOQueue()

SDL::AsyncIOQueue::AsyncIOQueue ( AsyncIOQueueRaw resource)
inlineexplicitconstexprnoexcept

Constructs from raw AsyncIOQueue.

Parameters
resourcea AsyncIOQueueRaw to be wrapped.

This assumes the ownership, call release() if you need to take back.


The documentation for this struct was generated from the following file: