<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>oscl_assert.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
<hr><h1>oscl_assert.h File Reference</h1>The file <a class="el" href="oscl__assert_8h.html">oscl_assert.h</a> provides an OSCL_ASSERT macro to document assumptions and test them during development. 
<a href="#_details">More...</a>
<p>
<code>#include "<a class="el" href="oscl__base_8h-source.html">oscl_base.h</a>"</code><br>
<code>#include "oscl_assert.inl"</code><br>

<p>
<a href="oscl__assert_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a78">OSCL_ASSERT</a>(_expr)&nbsp;&nbsp;&nbsp;((_expr)?((void)0):OSCL_Assert(# _expr,__FILE__,__LINE__))</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a34">_OSCL_Abort</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>This function terminates the current process abnormally.</em> <a href="group__osclbase.html#a34"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclbase.html#a35">OSCL_Assert</a> (const char *expr, const char *filename, int line_number)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>OSCL_ASSERT macro evaluates an expression and when the result is false, prints a diagnostic message and aborts the program.</em> <a href="group__osclbase.html#a35"></a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The file <a class="el" href="oscl__assert_8h.html">oscl_assert.h</a> provides an OSCL_ASSERT macro to document assumptions and test them during development.
<p>

<p>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>
