File: assert.html

package info (click to toggle)
boost 1.33.1-10
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 100,948 kB
  • ctags: 145,103
  • sloc: cpp: 573,492; xml: 49,055; python: 15,626; ansic: 13,588; sh: 2,099; yacc: 858; makefile: 660; perl: 427; lex: 111; csh: 6
file content (57 lines) | stat: -rw-r--r-- 2,622 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
	<head>
		<title>Boost: assert.hpp documentation</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	</head>
	<body bgcolor="white" style="MARGIN-LEFT: 5%; MARGIN-RIGHT: 5%">
		<table border="0" width="100%">
			<tr>
				<td width="277">
					<img src="../../boost.png" alt="boost.png (6897 bytes)" width="277" height="86">
				</td>
				<td align="middle">
					<h1>assert.hpp</h1>
				</td>
			</tr>
			<tr>
				<td colspan="2" height="64">&nbsp;</td>
			</tr>
		</table>
		<p>
			The header <STRONG>&lt;boost/assert.hpp&gt;</STRONG> defines the macro <b>BOOST_ASSERT</b>, 
			which is similar to the standard <STRONG>assert</STRONG> macro defined in <STRONG>&lt;cassert&gt;</STRONG>. 
			The macro is intended to be used in Boost libraries.
		</p>
		<P>By default, <tt>BOOST_ASSERT(expr)</tt> is equivalent to <tt>assert(expr)</tt>.</P>
		<P>When the macro <STRONG>BOOST_DISABLE_ASSERTS</STRONG> is defined when <STRONG>&lt;boost/assert.hpp&gt;</STRONG>
			is included, <tt>BOOST_ASSERT(expr)</tt> is defined as <tt>((void)0)</tt>. This 
			allows users to selectively disable <STRONG>BOOST_ASSERT</STRONG> without 
			affecting the definition of the standard <STRONG>assert</STRONG>.</P>
		<P>When the macro <STRONG>BOOST_ENABLE_ASSERT_HANDLER</STRONG> is defined when <STRONG>&lt;boost/assert.hpp&gt;</STRONG>
			is included, <tt>BOOST_ASSERT(expr)</tt> evaluates <b>expr</b> and, if the 
			result is false, evaluates the expression</P>
		<P><tt>::boost::assertion_failed(#expr, <a href="current_function.html">BOOST_CURRENT_FUNCTION</a>, 
				__FILE__, __LINE__)</tt></P>
		<P><STRONG>assertion_failed</STRONG> is declared in <STRONG>&lt;boost/assert.hpp&gt;</STRONG>
			as</P>
		<pre>
namespace boost
{

void assertion_failed(char const * expr, char const * function, char const * file, long line);

}
</pre>
		<p>but it is never defined. The user is expected to supply an appropriate 
			definition.</p>
		<P>As is the case with <STRONG>&lt;cassert&gt;</STRONG>, <STRONG>&lt;boost/assert.hpp&gt;</STRONG>
			can be included multiple times in a single translation unit. <STRONG>BOOST_ASSERT</STRONG>
			will be redefined each time as specified above.</P>
		<p><br>
			<small>Copyright  2002 by Peter Dimov. Permission to copy, use, modify, sell and 
				distribute this document is granted provided this copyright notice appears in 
				all copies. This document is provided "as is" without express or implied 
				warranty, and with no claim as to its suitability for any purpose.</small></p>
	</body>
</html>