CCF
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ccf::tasks::ThreadManager::PImpl Struct Reference

Classes

struct  CacheLineAligned
 

Public Types

using StopSignal = CacheLineAligned< std::atomic< bool > >
 

Public Member Functions

 PImpl (JobBoard &job_board_)
 
 ~PImpl ()
 
 PImpl (const PImpl &)=delete
 
PImploperator= (const PImpl &)=delete
 
 PImpl (PImpl &&)=delete
 
PImploperator= (PImpl &&)=delete
 
void set_task_threads (size_t new_worker_count)
 

Public Attributes

std::thread workers [MAX_WORKERS] = {}
 
StopSignal stop_signals [MAX_WORKERS] = {}
 
std::mutex worker_count_mutex
 
size_t current_workers = 0
 
JobBoardjob_board
 

Static Public Attributes

static constexpr size_t CACHELINE_SIZE = 64
 
static constexpr size_t MAX_WORKERS = 64
 

Member Typedef Documentation

◆ StopSignal

Constructor & Destructor Documentation

◆ PImpl() [1/3]

ccf::tasks::ThreadManager::PImpl::PImpl ( JobBoard job_board_)
inline

◆ ~PImpl()

ccf::tasks::ThreadManager::PImpl::~PImpl ( )
inline

◆ PImpl() [2/3]

ccf::tasks::ThreadManager::PImpl::PImpl ( const PImpl )
delete

◆ PImpl() [3/3]

ccf::tasks::ThreadManager::PImpl::PImpl ( PImpl &&  )
delete

Member Function Documentation

◆ operator=() [1/2]

PImpl & ccf::tasks::ThreadManager::PImpl::operator= ( const PImpl )
delete

◆ operator=() [2/2]

PImpl & ccf::tasks::ThreadManager::PImpl::operator= ( PImpl &&  )
delete

◆ set_task_threads()

void ccf::tasks::ThreadManager::PImpl::set_task_threads ( size_t  new_worker_count)
inline

Member Data Documentation

◆ CACHELINE_SIZE

constexpr size_t ccf::tasks::ThreadManager::PImpl::CACHELINE_SIZE = 64
staticconstexpr

◆ current_workers

size_t ccf::tasks::ThreadManager::PImpl::current_workers = 0

◆ job_board

JobBoard& ccf::tasks::ThreadManager::PImpl::job_board

◆ MAX_WORKERS

constexpr size_t ccf::tasks::ThreadManager::PImpl::MAX_WORKERS = 64
staticconstexpr

◆ stop_signals

StopSignal ccf::tasks::ThreadManager::PImpl::stop_signals[MAX_WORKERS] = {}

◆ worker_count_mutex

std::mutex ccf::tasks::ThreadManager::PImpl::worker_count_mutex

◆ workers

std::thread ccf::tasks::ThreadManager::PImpl::workers[MAX_WORKERS] = {}

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