vSMC
vSMC: Scalable Monte Carlo
Classes | Namespaces | Macros
backend_base.hpp File Reference
#include <vsmc/internal/common.hpp>

Go to the source code of this file.

Classes

class  vsmc::InitializeBase< T, Derived >
 Initialize base dispatch class. More...
 
class  vsmc::InitializeBase< T, Virtual >
 Initilaize base dispatch class. More...
 
class  vsmc::MonitorEvalBase< T, Derived >
 Monitor evalution base dispatch class. More...
 
class  vsmc::MonitorEvalBase< T, Virtual >
 Monitor evalution base dispatch class. More...
 
class  vsmc::MoveBase< T, Derived >
 Move base dispatch class. More...
 
class  vsmc::MoveBase< T, Virtual >
 Move base dispatch class. More...
 
class  vsmc::PathEvalBase< T, Derived >
 Path evalution base dispatch class. More...
 
class  vsmc::PathEvalBase< T, Virtual >
 Path evalution base dispatch class. More...
 

Namespaces

 vsmc
 

Macros

#define VSMC_DEFINE_SMP_BASE_COPY(Name)
 
#define VSMC_DEFINE_SMP_BASE_COPY_VIRTUAL(Name)
 
#define VSMC_DEFINE_SMP_IMPL_COPY(Impl, Name)
 
#define VSMC_RUNTIME_ASSERT_SMP_BACKEND_BASE_COPY_SIZE_MISMATCH(name)
 
#define VSMC_RUNTIME_ASSERT_SMP_BACKEND_BASE_DERIVED(basename)
 

Macro Definition Documentation

#define VSMC_DEFINE_SMP_BASE_COPY (   Name)
Value:
Name##Base () {} \
Name##Base (const Name##Base<T, Derived> &) {} \
Name##Base<T, Derived> &operator= (const Name##Base<T, Derived> &) \
{return *this;} \
VSMC_CRTP_DESTRUCTOR_PREFIX ~Name##Base () {}
#define VSMC_CRTP_DESTRUCTOR_PREFIX
CRTP style base classes (virtual) destructor.
Definition: defines.hpp:49

Definition at line 37 of file backend_base.hpp.

#define VSMC_DEFINE_SMP_BASE_COPY_VIRTUAL (   Name)
Value:
Name##Base () {} \
Name##Base (const Name##Base<T, Virtual> &) {} \
Name##Base<T, Virtual> &operator= (const Name##Base<T, Virtual> &) \
{return *this;} \
virtual ~Name##Base () {}

Definition at line 44 of file backend_base.hpp.

#define VSMC_DEFINE_SMP_IMPL_COPY (   Impl,
  Name 
)
Value:
Name##Impl () {} \
Name##Impl (const Name##Impl<T, Derived> &other) : \
Name##Base<T, Derived>(other) {} \
Name##Impl<T, Derived> &operator= (const Name##Impl<T, Derived> &other) \
{ \
if (this != &other) \
Name##Base<T, Derived>::operator=(other); \
\
return *this; \
} \
~Name##Impl () {}

Definition at line 51 of file backend_base.hpp.

#define VSMC_RUNTIME_ASSERT_SMP_BACKEND_BASE_COPY_SIZE_MISMATCH (   name)
Value:
VSMC_RUNTIME_ASSERT((N == static_cast<size_type>(this->size())), \
("**State"#name"::copy** SIZE MISMATCH"))
#define VSMC_RUNTIME_ASSERT(cond, msg)
Definition: assert.hpp:64

Definition at line 69 of file backend_base.hpp.

#define VSMC_RUNTIME_ASSERT_SMP_BACKEND_BASE_DERIVED (   basename)
Value:
VSMC_RUNTIME_ASSERT((dynamic_cast<Derived *>(this) != VSMC_NULLPTR), \
("DERIVED FROM " #basename \
" WITH INCORRECT **Derived** TEMPLATE PARAMTER"));
#define VSMC_RUNTIME_ASSERT(cond, msg)
Definition: assert.hpp:64
#define VSMC_NULLPTR
nullptr
Definition: defines.hpp:79

Definition at line 64 of file backend_base.hpp.