|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
A constexpr-friendly assertion for host/device code. More...
#include "axom/config.hpp"#include "axom/core/utilities/Abort.hpp"#include <cassert>#include <type_traits>Namespaces | |
| axom | |
| axom::detail | |
Macros | |
| #define | AXOM_DETAIL_CONSTEXPR_ASSERT_HOST_DEVICE |
| #define | AXOM_DETAIL_HAS_IS_CONSTANT_EVALUATED 0 |
Functions | |
| void | axom::detail::constexprAssertFail (const char *, const char *, int) |
| constexpr void | axom::detail::constexprAssert (bool cond, const char *expr, const char *file, int line) |
A constexpr-friendly assertion for host/device code.
This header provides the low-level implementation routine axom::detail::constexprAssert(bool, const char*, const char*, int).
Most Axom code should use the convenience macro AXOM_CONSTEXPR_ASSERT(EXP) (defined in axom/core/Macros.hpp), which forwards expression text and source location to axom::detail::constexprAssert(...).
Semantics:
| #define AXOM_DETAIL_CONSTEXPR_ASSERT_HOST_DEVICE |
| #define AXOM_DETAIL_HAS_IS_CONSTANT_EVALUATED 0 |