Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Eigen::SimpleThreadPoolTempl< Environment > Class Template Reference

#include <SimpleThreadPool.h>

Inheritance diagram for Eigen::SimpleThreadPoolTempl< Environment >:
Inheritance graph
[legend]

Classes

struct  PerThread
 
struct  Waiter
 

Public Member Functions

int CurrentThreadId () const final
 
int NumThreads () const final
 
void Schedule (std::function< void()> fn) final
 
 SimpleThreadPoolTempl (int num_threads, Environment env=Environment())
 
 ~SimpleThreadPoolTempl ()
 
- Public Member Functions inherited from Eigen::ThreadPoolInterface
virtual ~ThreadPoolInterface ()
 

Protected Member Functions

void WorkerLoop (int thread_id)
 

Private Types

typedef Environment::Task Task
 
typedef Environment::EnvThread Thread
 

Private Member Functions

PerThreadGetPerThread () const
 

Private Attributes

std::condition_variable empty_
 
Environment env_
 
bool exiting_ = false
 
std::mutex mu_
 
std::deque< Taskpending_
 
MaxSizeVector< Thread * > threads_
 
MaxSizeVector< Waiter * > waiters_
 

Detailed Description

template<typename Environment>
class Eigen::SimpleThreadPoolTempl< Environment >

Definition at line 21 of file SimpleThreadPool.h.

Member Typedef Documentation

template<typename Environment >
typedef Environment::Task Eigen::SimpleThreadPoolTempl< Environment >::Task
private

Definition at line 121 of file SimpleThreadPool.h.

template<typename Environment >
typedef Environment::EnvThread Eigen::SimpleThreadPoolTempl< Environment >::Thread
private

Definition at line 122 of file SimpleThreadPool.h.

Constructor & Destructor Documentation

template<typename Environment >
Eigen::SimpleThreadPoolTempl< Environment >::SimpleThreadPoolTempl ( int  num_threads,
Environment  env = Environment() 
)
inlineexplicit

Definition at line 24 of file SimpleThreadPool.h.

template<typename Environment >
Eigen::SimpleThreadPoolTempl< Environment >::~SimpleThreadPoolTempl ( )
inline

Definition at line 33 of file SimpleThreadPool.h.

Member Function Documentation

template<typename Environment >
int Eigen::SimpleThreadPoolTempl< Environment >::CurrentThreadId ( ) const
inlinefinalvirtual

Implements Eigen::ThreadPoolInterface.

Definition at line 76 of file SimpleThreadPool.h.

template<typename Environment >
PerThread* Eigen::SimpleThreadPoolTempl< Environment >::GetPerThread ( ) const
inlineprivate

Definition at line 144 of file SimpleThreadPool.h.

template<typename Environment >
int Eigen::SimpleThreadPoolTempl< Environment >::NumThreads ( ) const
inlinefinalvirtual

Implements Eigen::ThreadPoolInterface.

Definition at line 72 of file SimpleThreadPool.h.

template<typename Environment >
void Eigen::SimpleThreadPoolTempl< Environment >::Schedule ( std::function< void()>  fn)
inlinefinalvirtual

Implements Eigen::ThreadPoolInterface.

Definition at line 58 of file SimpleThreadPool.h.

template<typename Environment >
void Eigen::SimpleThreadPoolTempl< Environment >::WorkerLoop ( int  thread_id)
inlineprotected

Definition at line 86 of file SimpleThreadPool.h.

Member Data Documentation

template<typename Environment >
std::condition_variable Eigen::SimpleThreadPoolTempl< Environment >::empty_
private

Definition at line 141 of file SimpleThreadPool.h.

template<typename Environment >
Environment Eigen::SimpleThreadPoolTempl< Environment >::env_
private

Definition at line 136 of file SimpleThreadPool.h.

template<typename Environment >
bool Eigen::SimpleThreadPoolTempl< Environment >::exiting_ = false
private

Definition at line 142 of file SimpleThreadPool.h.

template<typename Environment >
std::mutex Eigen::SimpleThreadPoolTempl< Environment >::mu_
private

Definition at line 137 of file SimpleThreadPool.h.

template<typename Environment >
std::deque<Task> Eigen::SimpleThreadPoolTempl< Environment >::pending_
private

Definition at line 140 of file SimpleThreadPool.h.

template<typename Environment >
MaxSizeVector<Thread*> Eigen::SimpleThreadPoolTempl< Environment >::threads_
private

Definition at line 138 of file SimpleThreadPool.h.

template<typename Environment >
MaxSizeVector<Waiter*> Eigen::SimpleThreadPoolTempl< Environment >::waiters_
private

Definition at line 139 of file SimpleThreadPool.h.


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


hebiros
Author(s): Xavier Artache , Matthew Tesch
autogenerated on Thu Sep 3 2020 04:10:19