Tomographer  v1.0a
Tomographer C++ Framework Documentation
eigen_assert_exception.h File Reference

(v1.0a)

Define tools for Eigen's eigen_assert() to throw an exception instead of assert'ing. More...

#include <string>
#include <stdexcept>
+ Include dependency graph for eigen_assert_exception.h:

Go to the source code of this file.

Classes

class  Tomographer::Tools::eigen_assert_exception
 Exception that is thrown upon failed eigen_assert. More...
 

Namespaces

 Tomographer
 Base namespace for the Tomographer project.
 
 Tomographer::Tools
 Various useful tools.
 

Macros

#define eigen_assert_throw_exception(x)   if (!(x)) { throw (::Tomographer::Tools::eigen_assert_exception(#x, __FILE__, __LINE__)); }
 Macro like eigen_assert(), but which throws an exception. More...
 

Detailed Description

Define tools for Eigen's eigen_assert() to throw an exception instead of assert'ing.

Note
This header must be included BEFORE any Eigen header!
If you define the preprocessor symbol TOMOGRAPHER_EIGEN_ASSERT_EXCEPTION before including this file, then the macro eigen_assert() is defined such that it throws an exception upon failure. (In this case, eigen_assert() is defined to call eigen_assert_throw_exception().)

Definition in file eigen_assert_exception.h.

Macro Definition Documentation

#define eigen_assert_throw_exception (   x)    if (!(x)) { throw (::Tomographer::Tools::eigen_assert_exception(#x, __FILE__, __LINE__)); }

Macro like eigen_assert(), but which throws an exception.

You can use this macro in a definition of "eigen_assert()". If the assertion condition fails, then an exception of type Tomographer::Tools::eigen_assert_exception is thrown.

Definition at line 78 of file eigen_assert_exception.h.