GranOO  3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
Classes | Namespaces | Macros
Macro.hpp File Reference
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  GranOO3::Core::AssertMsg
 

Namespaces

 GranOO3
 
 GranOO3::Core
 This namespace group the entire Core library.
 

Macros

#define SafeModeAssert(condition, message)
 
#define UserAssert(condition, message)
 
#define AssertMsg(condition, message)
 
#define InternAssert(condition)
 
#define InternAssertMsg(condition, message)
 
#define TODO    InternAssertMsg(0, "This function is not yet implemented !");
 

Macro Definition Documentation

◆ AssertMsg

#define AssertMsg (   condition,
  message 
)
Value:
do { \
if (!(condition)) { \
std::vector<std::string> backtrace = GranOO3::Core::AssertMsg::Backtrace(); \
GranOO3::Core::AssertMsg::RaiseUserAssertion(__LINE__, __FILE__, #condition, message, backtrace); \
} \
} while (false)
static void RaiseUserAssertion(int line, const std::string &file, const std::string &condition, const std::string &message, const std::vector< std::string > &backtrace)
Definition: Macro.cpp:50
static std::vector< std::string > Backtrace(int skip=1)
Definition: Macro.cpp:129

◆ InternAssert

#define InternAssert (   condition)
Value:
do { \
if (!(condition)) { \
std::vector<std::string> backtrace = GranOO3::Core::AssertMsg::Backtrace(); \
GranOO3::Core::AssertMsg::RaiseInternAssertion(__LINE__, __FILE__, #condition, backtrace); \
} \
} while (false)
static void RaiseInternAssertion(int line, const std::string &file, const std::string &condition, const std::vector< std::string > &backtrace)
Definition: Macro.cpp:78

◆ InternAssertMsg

#define InternAssertMsg (   condition,
  message 
)
Value:
do { \
if (!(condition)) { \
std::vector<std::string> backtrace = GranOO3::Core::AssertMsg::Backtrace(); \
GranOO3::Core::AssertMsg::RaiseInternAssertionMsg(__LINE__, __FILE__, #condition, message, backtrace); \
} \
} while (false)
static void RaiseInternAssertionMsg(int line, const std::string &file, const std::string &condition, const std::string &message, const std::vector< std::string > &backtrace)
Definition: Macro.cpp:102

◆ SafeModeAssert

#define SafeModeAssert (   condition,
  message 
)

◆ TODO

#define TODO    InternAssertMsg(0, "This function is not yet implemented !");

◆ UserAssert

#define UserAssert (   condition,
  message 
)
Value:
do { \
if (!(condition)) { \
std::vector<std::string> backtrace = GranOO3::Core::AssertMsg::Backtrace(); \
GranOO3::Core::AssertMsg::RaiseUserAssertion(__LINE__, __FILE__, #condition, message, backtrace); \
} \
} while (false)