vSMC
vSMC: Scalable Monte Carlo
Public Member Functions | List of all members
vsmc::DispatchGroup Class Reference

A Dispatch group. More...

#include <vsmc/gcd/dispatch_group.hpp>

Public Member Functions

 DispatchGroup ()
 
template<DispatchQueueType Type>
void async (const DispatchQueue< Type > &queue,::dispatch_block_t block) const
 
void async (::dispatch_queue_t queue,::dispatch_block_t block) const
 
template<DispatchQueueType Type>
void async_f (const DispatchQueue< Type > &queue, void *context,::dispatch_function_t work) const
 
void async_f (::dispatch_queue_t queue, void *context,::dispatch_function_t work) const
 
void enter () const
 
void leave () const
 
template<DispatchQueueType Type>
void notify (const DispatchQueue< Type > &queue,::dispatch_block_t block) const
 
void notify (::dispatch_queue_t queue,::dispatch_block_t block) const
 
template<DispatchQueueType Type>
void notify_f (const DispatchQueue< Type > &queue, void *context,::dispatch_function_t work) const
 
void notify_f (::dispatch_queue_t queue, void *context,::dispatch_function_t work) const
 
long wait (::dispatch_time_t timeout) const
 
- Public Member Functions inherited from vsmc::DispatchObject< ::dispatch_group_t >
 DispatchObject (const ::dispatch_group_t &object, bool retained)
 Create a DispatchObject from its C-type object. More...
 
 DispatchObject (const DispatchObject< ::dispatch_group_t > &other)
 
 DispatchObject (DispatchObject< ::dispatch_group_t > &&other)
 
 ~DispatchObject ()
 
void * get_context () const
 
::dispatch_group_t object () const
 Return the underlying Dispatch object. More...
 
void object (::dispatch_group_tobj)
 Set the underlying Dispatch object and retain it. More...
 
DispatchObject< ::dispatch_group_t > & operator= (const DispatchObject< ::dispatch_group_t > &other)
 
DispatchObject< ::dispatch_group_t > & operator= (DispatchObject< ::dispatch_group_t > &&other)
 
void set_context (void *context) const
 
void set_finalizer_f (::dispatch_function_t finalizer) const
 

Detailed Description

A Dispatch group.

Definition at line 44 of file dispatch_group.hpp.

Constructor & Destructor Documentation

vsmc::DispatchGroup::DispatchGroup ( )
inline

Definition at line 48 of file dispatch_group.hpp.

Member Function Documentation

template<DispatchQueueType Type>
void vsmc::DispatchGroup::async ( const DispatchQueue< Type > &  queue,
::dispatch_block_t  block 
) const
inline

Definition at line 78 of file dispatch_group.hpp.

void vsmc::DispatchGroup::async ( ::dispatch_queue_t  queue,
::dispatch_block_t  block 
) const
inline

Definition at line 82 of file dispatch_group.hpp.

template<DispatchQueueType Type>
void vsmc::DispatchGroup::async_f ( const DispatchQueue< Type > &  queue,
void *  context,
::dispatch_function_t  work 
) const
inline

Definition at line 59 of file dispatch_group.hpp.

void vsmc::DispatchGroup::async_f ( ::dispatch_queue_t  queue,
void *  context,
::dispatch_function_t  work 
) const
inline

Definition at line 63 of file dispatch_group.hpp.

void vsmc::DispatchGroup::enter ( ) const
inline

Definition at line 51 of file dispatch_group.hpp.

void vsmc::DispatchGroup::leave ( ) const
inline

Definition at line 53 of file dispatch_group.hpp.

template<DispatchQueueType Type>
void vsmc::DispatchGroup::notify ( const DispatchQueue< Type > &  queue,
::dispatch_block_t  block 
) const
inline

Definition at line 87 of file dispatch_group.hpp.

void vsmc::DispatchGroup::notify ( ::dispatch_queue_t  queue,
::dispatch_block_t  block 
) const
inline

Definition at line 91 of file dispatch_group.hpp.

template<DispatchQueueType Type>
void vsmc::DispatchGroup::notify_f ( const DispatchQueue< Type > &  queue,
void *  context,
::dispatch_function_t  work 
) const
inline

Definition at line 68 of file dispatch_group.hpp.

void vsmc::DispatchGroup::notify_f ( ::dispatch_queue_t  queue,
void *  context,
::dispatch_function_t  work 
) const
inline

Definition at line 72 of file dispatch_group.hpp.

long vsmc::DispatchGroup::wait ( ::dispatch_time_t  timeout) const
inline

Definition at line 55 of file dispatch_group.hpp.