sparrow 0.9.0
Loading...
Searching...
No Matches
contracts.hpp File Reference
#include <csignal>
#include <cstdio>
#include <cstdlib>
Include dependency graph for contracts.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SPARROW_CONTRACTS_THROW_ON_FAILURE   0
 
#define SPARROW_CONTRACTS_IGNORE_WARNINGS
 
#define SPARROW_CONTRACTS_RESTORE_WARNINGS
 
#define SPARROW_CONTRACTS_LOG_FAILURE(expr__, message__)
 
#define SPARROW_CONTRACTS_ABORT(expr__, message__)
 
#define SPARROW_CONTRACTS_DEBUGBREAK()
 
#define SPARROW_CONTRACTS_DEFAULT_CHECKS_ENABLED   1
 
#define SPARROW_CONTRACTS_DEFAULT_ABORT_ON_FAILURE   1
 
#define SPARROW_CONTRACTS_DEFAULT_ON_FAILURE(expr__, message__)
 
#define SPARROW_CONTRACTS_CHECKS_ENABLED   SPARROW_CONTRACTS_DEFAULT_CHECKS_ENABLED
 
#define SPARROW_CONTRACTS_ON_FAILURE(expr__, message__)
 
#define SPARROW_ASSERT(expr__, message__)
 
#define SPARROW_ASSERT_TRUE(expr__)
 
#define SPARROW_ASSERT_FALSE(expr__)
 

Macro Definition Documentation

◆ SPARROW_ASSERT

#define SPARROW_ASSERT ( expr__,
message__ )
Value:
if (!(expr__)) \
{ \
SPARROW_CONTRACTS_ON_FAILURE(expr__, message__); \
}

Definition at line 196 of file contracts.hpp.

◆ SPARROW_ASSERT_FALSE

#define SPARROW_ASSERT_FALSE ( expr__)
Value:
SPARROW_ASSERT(!(expr__), "!(" #expr__ ")")
#define SPARROW_ASSERT(expr__, message__)

Definition at line 204 of file contracts.hpp.

◆ SPARROW_ASSERT_TRUE

◆ SPARROW_CONTRACTS_ABORT

#define SPARROW_CONTRACTS_ABORT ( expr__,
message__ )
Value:
std::abort()

Definition at line 147 of file contracts.hpp.

◆ SPARROW_CONTRACTS_CHECKS_ENABLED

#define SPARROW_CONTRACTS_CHECKS_ENABLED   SPARROW_CONTRACTS_DEFAULT_CHECKS_ENABLED

Definition at line 185 of file contracts.hpp.

◆ SPARROW_CONTRACTS_DEBUGBREAK

#define SPARROW_CONTRACTS_DEBUGBREAK ( )
Value:
std::raise(SIGTRAP);

Definition at line 165 of file contracts.hpp.

◆ SPARROW_CONTRACTS_DEFAULT_ABORT_ON_FAILURE

#define SPARROW_CONTRACTS_DEFAULT_ABORT_ON_FAILURE   1

Definition at line 173 of file contracts.hpp.

◆ SPARROW_CONTRACTS_DEFAULT_CHECKS_ENABLED

#define SPARROW_CONTRACTS_DEFAULT_CHECKS_ENABLED   1

Definition at line 172 of file contracts.hpp.

◆ SPARROW_CONTRACTS_DEFAULT_ON_FAILURE

#define SPARROW_CONTRACTS_DEFAULT_ON_FAILURE ( expr__,
message__ )
Value:
SPARROW_CONTRACTS_LOG_FAILURE(expr__, message__); \
SPARROW_CONTRACTS_DEBUGBREAK(); \
SPARROW_CONTRACTS_ABORT(expr__, message__);
#define SPARROW_CONTRACTS_LOG_FAILURE(expr__, message__)

Definition at line 175 of file contracts.hpp.

◆ SPARROW_CONTRACTS_IGNORE_WARNINGS

#define SPARROW_CONTRACTS_IGNORE_WARNINGS

Definition at line 99 of file contracts.hpp.

◆ SPARROW_CONTRACTS_LOG_FAILURE

#define SPARROW_CONTRACTS_LOG_FAILURE ( expr__,
message__ )
Value:
::fprintf(stderr, "Assertion Failed (%s:%i): %s - (%s is wrong)\n", __FILE__, __LINE__, message__, #expr__);

Definition at line 126 of file contracts.hpp.

◆ SPARROW_CONTRACTS_ON_FAILURE

#define SPARROW_CONTRACTS_ON_FAILURE ( expr__,
message__ )
Value:
#define SPARROW_CONTRACTS_DEFAULT_ON_FAILURE(expr__, message__)

Definition at line 191 of file contracts.hpp.

◆ SPARROW_CONTRACTS_RESTORE_WARNINGS

#define SPARROW_CONTRACTS_RESTORE_WARNINGS

Definition at line 100 of file contracts.hpp.

◆ SPARROW_CONTRACTS_THROW_ON_FAILURE

#define SPARROW_CONTRACTS_THROW_ON_FAILURE   0

Definition at line 24 of file contracts.hpp.