#include <cstddef>
#include <type_traits>
Go to the source code of this file.
◆ DEFINE_ASSERT_ONE_PARAM
#define DEFINE_ASSERT_ONE_PARAM |
( |
|
name | ) |
|
Value: namespace details { \
template <bool b> \
struct assert_##name \
{ \
static_assert(b, \
"Assert "#name" failed" \
); \
}; \
\
template<> \
struct assert_##name<true> : std::true_type \
{}; \
} \
template <class T> \
inline constexpr bool assert_##name = \
details::assert_##name<name<T>>::value; \
◆ DEFINE_ASSERT_TWO_PARAM
#define DEFINE_ASSERT_TWO_PARAM |
( |
|
name | ) |
|
Value: namespace details { \
template <bool b> \
struct assert_##name \
{ \
static_assert(b, \
"Assert "#name" failed" \
); \
}; \
\
template<> \
struct assert_##name<true> : std::true_type \
{}; \
} \
template <class T, class U> \
inline constexpr bool assert_##name = \
details::assert_##name<name<T, U>>::value; \
◆ PPL_CONT_XOR_DISC
#define PPL_CONT_XOR_DISC |
Value: "Expression must be either continuous or discrete. " \
"It cannot be both continuous and discrete. "