DUNE
Distributed and Unified Numerics Environment
Dune Core Modules (2.9.0)
dune
common
bartonnackmanifcheck.hh
Go to the documentation of this file.
1
// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2
// vi: set et ts=4 sw=2 sts=2:
3
// SPDX-FileCopyrightInfo: Copyright (C) DUNE Project contributors, see file LICENSE.md in module root
4
// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
24
//- Dune includes
25
#include <
dune/common/exceptions.hh
>
26
27
#ifdef CHECK_INTERFACE_IMPLEMENTATION
28
#undef CHECK_INTERFACE_IMPLEMENTATION
29
#endif
30
#ifdef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
31
#undef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
32
#endif
33
34
#if defined NDEBUG || !defined DUNE_INTERFACECHECK
35
#define CHECK_INTERFACE_IMPLEMENTATION(dummy)
36
#else
37
#define CHECK_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) \
38
{\
39
static bool call = false; \
40
if( call == true ) \
41
DUNE_THROW(NotImplemented,"Interface method not implemented!"
);\
42
call = true; \
43
try { \
44
(__interface_method_to_call__); \
45
call = false; \
46
} \
47
catch ( ... ) \
48
{ \
49
call = false; \
50
throw; \
51
} \
52
}
53
#endif
54
60
#if defined NDEBUG || !defined DUNE_INTERFACECHECK
61
#define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) \
62
(__interface_method_to_call__)
63
#else
64
#define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) \
65
CHECK_INTERFACE_IMPLEMENTATION(__interface_method_to_call__)
66
#endif
exceptions.hh
A few common exception classes.
|
Legal Statements / Impressum
| Hosted by
TU Dresden
| generated with Hugo v0.111.3 (Jul 15, 22:36, 2024)