53 virtual
bool is_busy() const noexcept = 0;
Definition task_queue.hxx:13
Definition task_thread.hxx:49
virtual auto info() const noexcept -> ice::TaskThreadInfo const &=0
virtual ~TaskThread() noexcept=default
virtual bool is_busy() const noexcept=0
virtual auto estimated_task_count() const noexcept -> ice::u32=0
virtual auto queue() noexcept -> ice::TaskQueue &=0
virtual bool is_running() const noexcept=0
SPDX-License-Identifier: MIT.
Definition array.hxx:12
ice::BasicString< char > String
Definition string.hxx:82
auto alloc(ice::usize size) noexcept -> ice::AllocResult
std::uint32_t u32
Definition types.hxx:26
auto(void *userdata, ice::TaskQueue &) noexcept -> ice::u32 TaskThreadProcedure
Definition task_thread.hxx:12
ice::AllocatorBase< ice::build::is_debug||ice::build::is_develop > Allocator
Definition mem_types.hxx:25
auto create_thread(ice::Allocator &alloc, ice::TaskQueue &queue, ice::TaskThreadInfo const &thread_info) noexcept -> ice::UniquePtr< ice::TaskThread >
Definition task_thread.hxx:15
void * custom_procedure_userdata
User-data associated with the custom procedure (if set).
Definition task_thread.hxx:40
ice::usize stack_size
Custom stack size for the thread.
Definition task_thread.hxx:32
bool exclusive_queue
Consume all tasks from the queue instead of just one from the front.
Definition task_thread.hxx:20
ice::TaskThreadProcedure * custom_procedure
Uses the custom provided procedure to run tasks instead of the built-in implementations.
Definition task_thread.hxx:37
ice::String debug_name
Sets the name of the thread.
Definition task_thread.hxx:45
bool wait_on_queue
When the queue is empty, waits on new tasks to be pushed.
Definition task_thread.hxx:27
bool sort_by_priority
Enable sorting tasks by priority for this thread if 'exclusive' mode is also set.
Definition task_thread.hxx:23
Definition mem_unique_ptr.hxx:25
Represents a unsigned size value on the given platform.
Definition mem_size_types.hxx:26