VinaLC: Parallel Molecular Docking Program

Biochemical and Biophysical Systems Group
VinaLC version: 1.1.2

parallel_for< F, Sync > Struct Template Reference

#include <parallel.h>

Inheritance diagram for parallel_for< F, Sync >:
Collaboration diagram for parallel_for< F, Sync >:

Classes

struct  aux
 

Public Member Functions

 parallel_for (const F *f, sz num_threads)
 
void run (sz size_)
 
virtual ~parallel_for ()
 

Private Member Functions

void loop (sz offset)
 
boost::optional< szget_size (sz offset)
 

Private Attributes

const F * m_f
 
boost::condition cond
 
boost::condition busy
 
bool destructing
 
sz size
 
std::vector< bool > thread_finished
 
sz count_finished
 
sz num_threads
 
boost::mutex self
 

Constructor & Destructor Documentation

template<typename F, bool Sync = false>
parallel_for< F, Sync >::parallel_for ( const F *  f,
sz  num_threads 
)
inline
template<typename F, bool Sync = false>
virtual parallel_for< F, Sync >::~parallel_for ( )
inlinevirtual

Member Function Documentation

template<typename F, bool Sync = false>
void parallel_for< F, Sync >::run ( sz  size_)
inline

Referenced by parallel_iter< F, Container, Input, Sync >::run().

Here is the caller graph for this function:

template<typename F, bool Sync = false>
void parallel_for< F, Sync >::loop ( sz  offset)
inlineprivate

Referenced by parallel_for< F, Sync >::aux::operator()(), and parallel_for< F, true >::aux::operator()().

Here is the caller graph for this function:

template<typename F, bool Sync = false>
boost::optional<sz> parallel_for< F, Sync >::get_size ( sz  offset)
inlineprivate

Referenced by parallel_for< aux, Sync >::loop().

Here is the caller graph for this function:

Member Data Documentation

template<typename F, bool Sync = false>
const F* parallel_for< F, Sync >::m_f
private
template<typename F, bool Sync = false>
boost::condition parallel_for< F, Sync >::busy
private
template<typename F, bool Sync = false>
std::vector<bool> parallel_for< F, Sync >::thread_finished
private
template<typename F, bool Sync = false>
sz parallel_for< F, Sync >::count_finished
private
template<typename F, bool Sync = false>
sz parallel_for< F, Sync >::num_threads
private
template<typename F, bool Sync = false>
boost::mutex parallel_for< F, Sync >::self
private

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