JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
Assert.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#include <functional>
7
12
13namespace core {
14
17 std::function<void(const char* condition, const char* message, const char* file, int line)>;
18
24
32void handleAssertionFailure(const char* condition, const char* message, const char* file, int line);
33
34} // namespace core
35
44#ifdef NDEBUG
45#define JADG_ASSERT(condition, message) ((void)0)
46#else
47#define JADG_ASSERT(condition, message) \
48 do { \
49 if (!(condition)) { \
50 ::core::handleAssertionFailure(#condition, message, __FILE__, __LINE__); \
51 } \
52 } while (false)
53#endif
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
void setAssertionHandler(AssertionHandler handler)
Remplace le gestionnaire d'échec d'assertion (utile pour les tests).
Definition Assert.cpp:30
void handleAssertionFailure(const char *condition, const char *message, const char *file, int line)
Invoque le gestionnaire d'échec d'assertion courant.
Definition Assert.cpp:34
std::function< void(const char *condition, const char *message, const char *file, int line)> AssertionHandler
Signature d'un gestionnaire d'échec d'assertion.
Definition Assert.h:16