CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Private Member Functions | Private Attributes
edm::ThreadsController Class Reference

#include <ThreadsController.h>

Public Member Functions

void setStackSize (size_t iStackSize)
 
 ThreadsController ()=delete
 
 ThreadsController (unsigned int iNThreads)
 
 ThreadsController (unsigned int iNThreads, size_t iStackSize)
 

Static Private Member Functions

static std::unique_ptr
< tbb::global_control > 
makeStackSize (size_t iStackSize)
 

Private Attributes

tbb::global_control m_nThreads
 
std::unique_ptr
< tbb::global_control > 
m_stackSize
 

Detailed Description

Definition at line 31 of file ThreadsController.h.

Constructor & Destructor Documentation

edm::ThreadsController::ThreadsController ( )
delete
edm::ThreadsController::ThreadsController ( unsigned int  iNThreads)
inlineexplicit

Definition at line 34 of file ThreadsController.h.

35  : m_nThreads{tbb::global_control::max_allowed_parallelism, iNThreads}, m_stackSize{} {}
std::unique_ptr< tbb::global_control > m_stackSize
tbb::global_control m_nThreads
edm::ThreadsController::ThreadsController ( unsigned int  iNThreads,
size_t  iStackSize 
)
inline

Definition at line 36 of file ThreadsController.h.

37  : m_nThreads{tbb::global_control::max_allowed_parallelism, iNThreads}, m_stackSize{makeStackSize(iStackSize)} {}
std::unique_ptr< tbb::global_control > m_stackSize
tbb::global_control m_nThreads
static std::unique_ptr< tbb::global_control > makeStackSize(size_t iStackSize)

Member Function Documentation

std::unique_ptr< tbb::global_control > ThreadsController::makeStackSize ( size_t  iStackSize)
staticprivate

Definition at line 19 of file ThreadsController.cc.

Referenced by setStackSize().

19  {
20  return std::make_unique<tbb::global_control>(tbb::global_control::thread_stack_size, iStackSize);
21  }
void edm::ThreadsController::setStackSize ( size_t  iStackSize)
inline

Definition at line 40 of file ThreadsController.h.

References m_stackSize, and makeStackSize().

40 { m_stackSize = makeStackSize(iStackSize); }
std::unique_ptr< tbb::global_control > m_stackSize
static std::unique_ptr< tbb::global_control > makeStackSize(size_t iStackSize)

Member Data Documentation

tbb::global_control edm::ThreadsController::m_nThreads
private

Definition at line 46 of file ThreadsController.h.

std::unique_ptr<tbb::global_control> edm::ThreadsController::m_stackSize
private

Definition at line 47 of file ThreadsController.h.

Referenced by setStackSize().