Go to the source code of this file.
#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> &) \
#define VSMC_CRTP_DESTRUCTOR_PREFIX
CRTP style base classes (virtual) destructor.
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:
("**State"#name"::copy** SIZE MISMATCH"))
#define VSMC_RUNTIME_ASSERT(cond, msg)
Definition at line 69 of file backend_base.hpp.
#define VSMC_RUNTIME_ASSERT_SMP_BACKEND_BASE_DERIVED |
( |
|
basename | ) |
|
Value:
("DERIVED FROM " #basename \
" WITH INCORRECT **Derived** TEMPLATE PARAMTER"));
#define VSMC_RUNTIME_ASSERT(cond, msg)
#define VSMC_NULLPTR
nullptr
Definition at line 64 of file backend_base.hpp.