Grok 12.0.1
Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | List of all members
hwy::PoolTasks Class Reference

#include <thread_pool.h>

Public Member Functions

template<class Closure >
void Store (const Closure &closure, uint64_t begin, uint64_t end)
 
RunFunc WorkerGet (uint64_t &begin, uint64_t &end, const void *&opaque) const
 

Private Types

typedef void(* RunFunc) (const void *opaque, uint64_t task, size_t thread_id)
 

Static Private Member Functions

template<class Closure >
static void CallClosure (const void *opaque, uint64_t task, size_t thread)
 

Private Attributes

std::atomic< RunFuncfunc_
 
std::atomic< const void * > opaque_
 
std::atomic< uint64_t > begin_
 
std::atomic< uint64_t > end_
 

Member Typedef Documentation

◆ RunFunc

typedef void(* hwy::PoolTasks::RunFunc) (const void *opaque, uint64_t task, size_t thread_id)
private

Member Function Documentation

◆ CallClosure()

template<class Closure >
static void hwy::PoolTasks::CallClosure ( const void * opaque,
uint64_t task,
size_t thread )
inlinestaticprivate

◆ Store()

template<class Closure >
void hwy::PoolTasks::Store ( const Closure & closure,
uint64_t begin,
uint64_t end )
inline

References begin_, end_, func_, and opaque_.

Referenced by hwy::ParallelFor::Plan().

◆ WorkerGet()

RunFunc hwy::PoolTasks::WorkerGet ( uint64_t & begin,
uint64_t & end,
const void *& opaque ) const
inline

References begin_, end_, func_, and opaque_.

Referenced by hwy::ParallelFor::WorkerRun().

Member Data Documentation

◆ begin_

std::atomic<uint64_t> hwy::PoolTasks::begin_
private

Referenced by Store(), and WorkerGet().

◆ end_

std::atomic<uint64_t> hwy::PoolTasks::end_
private

Referenced by Store(), and WorkerGet().

◆ func_

std::atomic<RunFunc> hwy::PoolTasks::func_
private

Referenced by Store(), and WorkerGet().

◆ opaque_

std::atomic<const void*> hwy::PoolTasks::opaque_
private

Referenced by Store(), and WorkerGet().


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