16 #ifndef CRYPTOPP_TRAP_H
17 #define CRYPTOPP_TRAP_H
24 # if defined(CRYPTOPP_BSD_AVAILABLE) || defined(CRYPTOPP_UNIX_AVAILABLE)
26 # elif defined(CRYPTOPP_WIN32_AVAILABLE)
27 # if (_MSC_VER >= 1400)
31 #endif // CRYPTOPP_DEBUG
35 #if defined(CRYPTOPP_DOXYGEN_PROCESSING)
62 # define CRYPTOPP_ASSERT(exp) { ... }
65 #if CRYPTOPP_DEBUG && (defined(CRYPTOPP_BSD_AVAILABLE) || defined(CRYPTOPP_UNIX_AVAILABLE))
66 # define CRYPTOPP_ASSERT(exp) { \
68 std::ostringstream oss; \
69 oss << "Assertion failed: " << (char*)(__FILE__) << "(" \
70 << (int)(__LINE__) << "): " << (char*)(__func__) \
72 std::cerr << oss.str(); \
76 #elif CRYPTOPP_DEBUG && defined(CRYPTOPP_WIN32_AVAILABLE)
77 # define CRYPTOPP_ASSERT(exp) { \
79 std::ostringstream oss; \
80 oss << "Assertion failed: " << (char*)(__FILE__) << "(" \
81 << (int)(__LINE__) << "): " << (char*)(__FUNCTION__) \
83 std::cerr << oss.str(); \
87 #endif // DEBUG and Unix or Windows
91 #ifndef CRYPTOPP_ASSERT
92 # define CRYPTOPP_ASSERT(exp) ((void)(exp))
95 NAMESPACE_BEGIN(CryptoPP)
99 #if (CRYPTOPP_DEBUG && (defined(CRYPTOPP_BSD_AVAILABLE) || defined(CRYPTOPP_UNIX_AVAILABLE))) || defined(CRYPTOPP_DOXYGEN_PROCESSING)
136 #if defined(CRYPTOPP_DOXYGEN_PROCESSING)
142 #endif // Linux, Unix and Documentation
146 #endif // CRYPTOPP_TRAP_H
Signal handler for Linux and Unix compatibles.
Library configuration file.
Utility class for trapping OS signals.