equal
deleted
inserted
replaced
|
1 // |
|
2 // boost/assert.hpp - BOOST_ASSERT(expr) |
|
3 // |
|
4 // Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. |
|
5 // Copyright (c) 2007 Peter Dimov |
|
6 // |
|
7 // Distributed under the Boost Software License, Version 1.0. (See |
|
8 // accompanying file LICENSE_1_0.txt or copy at |
|
9 // http://www.boost.org/LICENSE_1_0.txt) |
|
10 // |
|
11 // Note: There are no include guards. This is intentional. |
|
12 // |
|
13 // See http://www.boost.org/libs/utility/assert.html for documentation. |
|
14 // |
|
15 |
|
16 #undef BOOST_ASSERT |
|
17 |
|
18 #if defined(BOOST_DISABLE_ASSERTS) |
|
19 |
|
20 # define BOOST_ASSERT(expr) ((void)0) |
|
21 |
|
22 #elif defined(BOOST_ENABLE_ASSERT_HANDLER) |
|
23 |
|
24 #include <boost/current_function.hpp> |
|
25 |
|
26 namespace boost |
|
27 { |
|
28 |
|
29 void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined |
|
30 |
|
31 } // namespace boost |
|
32 |
|
33 #define BOOST_ASSERT(expr) ((expr)? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) |
|
34 |
|
35 #else |
|
36 # include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same |
|
37 # define BOOST_ASSERT(expr) assert(expr) |
|
38 #endif |
|
39 |
|
40 #undef BOOST_VERIFY |
|
41 |
|
42 #if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) ) |
|
43 |
|
44 # define BOOST_VERIFY(expr) ((void)(expr)) |
|
45 |
|
46 #else |
|
47 |
|
48 # define BOOST_VERIFY(expr) BOOST_ASSERT(expr) |
|
49 |
|
50 #endif |