JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
Assert.h File Reference

Assertions du projet : vérifient préconditions et invariants (bugs). More...

#include <functional>

Go to the source code of this file.

Namespaces

namespace  core
 Espace de noms du moteur et de la logique de jeu.

Macros

#define JADG_ASSERT(condition, message)
 Vérifie une précondition.

Typedefs

using core::AssertionHandler
 Signature d'un gestionnaire d'échec d'assertion.

Functions

void core::setAssertionHandler (AssertionHandler handler)
 Remplace le gestionnaire d'échec d'assertion (utile pour les tests).
void core::handleAssertionFailure (const char *condition, const char *message, const char *file, int line)
 Invoque le gestionnaire d'échec d'assertion courant.

Detailed Description

Assertions du projet : vérifient préconditions et invariants (bugs).

Macro Definition Documentation

◆ JADG_ASSERT

#define JADG_ASSERT ( condition,
message )
Value:
do { \
if (!(condition)) { \
::core::handleAssertionFailure(#condition, message, __FILE__, __LINE__); \
} \
} while (false)

Vérifie une précondition.

Active en Debug, sans effet en Release.

En Debug, si la condition est fausse, le gestionnaire d'assertion courant est appelé. En Release (NDEBUG), la macro ne produit aucune instruction et la condition n'est pas évaluée.