vSMC
vSMC: Scalable Monte Carlo
Classes | Enumerations | Functions
Grand Central Dispatch

C++ wrapper of Apple GCD. More...

Classes

class  vsmc::DispatchFunction< T >
 Wrap a callable object into a dispatch_function_t type pointer. More...
 
class  vsmc::DispatchGroup
 A Dispatch group. More...
 
class  vsmc::DispatchObject< DispatchType >
 Base class of Dispatch objects. More...
 
class  vsmc::DispatchQueue< DispatchGlobal >
 The global dispatch queue (dispatch_get_gloal_queue) More...
 
class  vsmc::DispatchQueue< DispatchMain >
 The main dispatch queue (dipatch_get_main_queue) More...
 
class  vsmc::DispatchQueue< DispatchPrivate >
 A private dispatch queue (dispatch_queue_create) More...
 
class  vsmc::DispatchQueueBase
 Base class of DispatchQueue. More...
 
class  vsmc::DispatchSource< Type >
 A dispatch source. More...
 
class  vsmc::DispatchSource< DispatchDataAdd >
 Data (ADD) dispatch source. More...
 
class  vsmc::DispatchSource< DispatchDataOr >
 Data (OR) dispatch source. More...
 
class  vsmc::DispatchSource< DispatchTimer >
 Timer dispatch source. More...
 
class  vsmc::DispatchSourceBase< Type >
 Base class of DispatchSource. More...
 

Enumerations

enum  vsmc::DispatchQueueType {
  vsmc::DispatchMain,
  vsmc::DispatchGlobal,
  vsmc::DispatchPrivate
}
 Types of DispatchQueue. More...
 
enum  vsmc::DispatchSourceType {
  vsmc::DispatchDataAdd,
  vsmc::DispatchDataOr,
  vsmc::DispatchMachRecv,
  vsmc::DispatchMachSend,
  vsmc::DispatchProc,
  vsmc::DispatchRead,
  vsmc::DispatchSignal,
  vsmc::DispatchTimer,
  vsmc::DispatchVnode,
  vsmc::DispatchWrite
}
 Types of DispatchSource. More...
 

Functions

template<typename T >
DispatchFunction< typename cxx11::remove_cv< typename cxx11::remove_reference< T >::type >::type > * vsmc::dispatch_function_new (T &&work) noexcept
 Make a DispatchFunction object from an arbitrary callable object. More...
 

Detailed Description

C++ wrapper of Apple GCD.

Enumeration Type Documentation

Types of DispatchQueue.

Enumerator
DispatchMain 

The queue obtained by dispatch_get_main_queue

DispatchGlobal 

The queue obtained by dispatch_get_gloal_queue

DispatchPrivate 

The queue created by dispatch_queue_create

Definition at line 43 of file dispatch_queue.hpp.

Types of DispatchSource.

Enumerator
DispatchDataAdd 

DISPATCH_SOURCE_TYPE_DATA_ADD.

DispatchDataOr 

DISPATCH_SOURCE_TYPE_DATA_OR.

DispatchMachRecv 

DISPATCH_SOURCE_TYPE_MACH_RECV.

DispatchMachSend 

DISPATCH_SOURCE_TYPE_MACH_SEND.

DispatchProc 

DISPATCH_SOURCE_TYPE_PROC.

DispatchRead 

DISPATCH_SOURCE_TYPE_READ.

DispatchSignal 

DISPATCH_SOURCE_TYPE_SIGNAL.

DispatchTimer 

DISPATCH_SOURCE_TYPE_TIMER.

DispatchVnode 

DISPATCH_SOURCE_TYPE_VNODE.

DispatchWrite 

DISPATCH_SOURCE_TYPE_WRITE.

Definition at line 43 of file dispatch_source.hpp.

Function Documentation

template<typename T >
DispatchFunction<typename cxx11::remove_cv<typename cxx11::remove_reference<T>::type>::type>* vsmc::dispatch_function_new ( T &&  work)
inlinenoexcept

Make a DispatchFunction object from an arbitrary callable object.

Parameters
workA callable object with signature void f(void)

Definition at line 85 of file dispatch_function.hpp.