blob: ed9fefd337e2e9cdf7d231f07c04268e98929894 [file] [log] [blame]
<!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_mem.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_mem.h File Reference</h1>This file contains basic memory definitions for common use across platforms.
<a href="#_details">More...</a>
<p>
<code>#include "<a class="el" href="osclconfig__memory_8h-source.html">osclconfig_memory.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__base_8h-source.html">oscl_base.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__types_8h-source.html">oscl_types.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__assert_8h-source.html">oscl_assert.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__mem__basic__functions_8h-source.html">oscl_mem_basic_functions.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__lock__base_8h-source.html">oscl_lock_base.h</a>"</code><br>
<code>#include "<a class="el" href="osclconfig__compiler__warnings_8h-source.html">osclconfig_compiler_warnings.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__mem__inst_8h-source.html">oscl_mem_inst.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__heapbase_8h-source.html">oscl_heapbase.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__defalloc_8h-source.html">oscl_defalloc.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__refcounter_8h-source.html">oscl_refcounter.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__error_8h-source.html">oscl_error.h</a>"</code><br>
<code>#include "<a class="el" href="oscl__exception_8h-source.html">oscl_exception.h</a>"</code><br>
<code>#include "oscl_mem.inl"</code><br>
<p>
<a href="oscl__mem_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>Data Structures</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classHeapBase.html">HeapBase</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclAuditCB.html">OsclAuditCB</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMem.html">OsclMem</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemAllocDestructDealloc.html">OsclMemAllocDestructDealloc</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemBasicAllocator.html">OsclMemBasicAllocator</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemBasicAllocDestructDealloc.html">OsclMemBasicAllocDestructDealloc</a></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classOsclMemGlobalAuditObject.html">OsclMemGlobalAuditObject</a></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__osclmemory.html#a33">OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE</a></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a34">OSCL_HAS_GLOBAL_NEW_DELETE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a35">OSCL_CLEANUP_BASE_CLASS</a>(T)&nbsp;&nbsp;&nbsp;_OSCL_CLEANUP_BASE_CLASS(T)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a36">OSCL_ALLOC_NEW</a>(T_allocator, T, params)&nbsp;&nbsp;&nbsp;new(T_allocator.allocate(1)) T params</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a37">OSCL_TRAP_ALLOC_NEW</a>(T_ptr, T_allocator, T, params)&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(T_allocator.allocate(1),T_allocator.deallocate,T_ptr,T,params)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a38">OSCL_ALLOC_DELETE</a>(ptr, T_allocator, T)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a39">OSCL_MALLOC</a>(count)&nbsp;&nbsp;&nbsp;_oscl_default_audit_malloc(count)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a40">oscl_malloc</a>(a)&nbsp;&nbsp;&nbsp;OSCL_MALLOC(a)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a41">OSCL_DEFAULT_MALLOC</a>(x)&nbsp;&nbsp;&nbsp;OSCL_MALLOC(x)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a42">OSCL_AUDIT_MALLOC</a>(auditCB, count)&nbsp;&nbsp;&nbsp;_oscl_audit_malloc(count, auditCB)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a43">OSCL_CALLOC</a>(num, size)&nbsp;&nbsp;&nbsp;_oscl_default_audit_calloc(num,size)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a44">oscl_calloc</a>(a, b)&nbsp;&nbsp;&nbsp;OSCL_CALLOC(a,b)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a45">OSCL_AUDIT_CALLOC</a>(auditCB, num, size)&nbsp;&nbsp;&nbsp;_oscl_audit_calloc(num,size, auditCB)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a46">OSCL_REALLOC</a>(ptr, new_size)&nbsp;&nbsp;&nbsp;_oscl_default_audit_realloc(ptr,new_size)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a47">oscl_realloc</a>(a, b)&nbsp;&nbsp;&nbsp;OSCL_REALLOC(a,b)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a48">OSCL_AUDIT_REALLOC</a>(auditCB, ptr, new_size)&nbsp;&nbsp;&nbsp;_oscl_audit_realloc(ptr,new_size, auditCB)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a49">OSCL_FREE</a>(ptr)&nbsp;&nbsp;&nbsp;_oscl_audit_free(ptr)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a50">oscl_free</a>(x)&nbsp;&nbsp;&nbsp;OSCL_FREE(x)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a51">OSCL_DEFAULT_FREE</a>(x)&nbsp;&nbsp;&nbsp;OSCL_FREE(x)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a52">OSCL_NEW</a>(T, params)&nbsp;&nbsp;&nbsp;new T params</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a53">OSCL_PLACEMENT_NEW</a>(ptr, constructor)&nbsp;&nbsp;&nbsp;new(ptr) constructor</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a54">OSCL_TRAP_NEW</a>(T_ptr, T, params)&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(_oscl_default_audit_new(sizeof(T)),_oscl_audit_free,T_ptr,T,params)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a55">OSCL_AUDIT_NEW</a>(auditCB, T, params)&nbsp;&nbsp;&nbsp;new(_oscl_audit_new(sizeof(T),auditCB)) T params</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a56">OSCL_TRAP_AUDIT_NEW</a>(T_ptr, auditCB, T, params)&nbsp;&nbsp;&nbsp;_OSCL_TRAP_NEW(_oscl_audit_new(sizeof(T),auditCB),_oscl_audit_free,T_ptr,T,params)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a57">OSCL_DELETE</a>(ptr)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a58">OSCL_AUDIT_ARRAY_NEW</a>(auditCB, T, count)&nbsp;&nbsp;&nbsp;new(_oscl_audit_new(sizeof(T)*(count),auditCB)) T</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a59">OSCL_ARRAY_NEW</a>(T, count)&nbsp;&nbsp;&nbsp;new T[count]</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a60">OSCL_ARRAY_DELETE</a>(ptr)&nbsp;&nbsp;&nbsp;delete [] ptr</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="oscl__mem_8h.html#a28">OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE</a></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a61">_OSCL_TRAP_NEW</a>(exp, freeFunc, T_ptr, T, params)</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a62">_OSCL_CLEANUP_BASE_CLASS</a>(T)&nbsp;&nbsp;&nbsp;this-&gt;T::~T()</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>OSCL_COND_IMPORT_REF <a class="el" href="group__osclbase.html#a27">uint</a>&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a16">oscl_mem_aligned_size</a> (<a class="el" href="group__osclbase.html#a27">uint</a> size)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a17">OsclMemInit</a> (<a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;auditCB)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a18">_oscl_audit_malloc</a> (size_t, <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;, const char *f=NULL, const int l=0)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a19">_oscl_audit_calloc</a> (size_t, size_t, <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;, const char *f=NULL, const int l=0)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a20">_oscl_audit_realloc</a> (void *, size_t, <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;, const char *f=NULL, const int l=0)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a21">_oscl_audit_new</a> (size_t, <a class="el" href="classOsclAuditCB.html">OsclAuditCB</a> &amp;, const char *f=NULL, const int l=0)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a22">_oscl_default_audit_malloc</a> (size_t, const char *f=NULL, const int l=0)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a23">_oscl_default_audit_calloc</a> (size_t, size_t, const char *f=NULL, const int l=0)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a24">_oscl_default_audit_realloc</a> (void *, size_t, const char *f=NULL, const int l=0)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a25">_oscl_default_audit_new</a> (size_t, const char *f=NULL, const int l=0)</td></tr>
<tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a26">_oscl_audit_free</a> (void *)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a27">operator new</a> (size_t aSize, const char *aFile, int aLine)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="oscl__mem_8h.html#a43">operator new</a> (size_t aSize)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="oscl__mem_8h.html#a44">operator delete</a> (void *aPtr)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a30">operator new[]</a> (size_t aSize, const char *aFile, int aLine)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a31">operator new[]</a> (size_t aSize)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__osclmemory.html#a32">operator delete[]</a> (void *aPtr)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains basic memory definitions for common use across platforms.
<p>
This is the main entry point header file for the OSCL memory library. It should be the only one users directly include. Basic memory copy, compare, and move functions are defined here as well as the allocation functions.
<p>
<hr><h2>Define Documentation</h2>
<a name="a28" doxytag="oscl_mem.h::OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Previously this was in oscl_mem_imp.h </td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a44" doxytag="oscl_mem.h::operator delete"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void operator delete </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aPtr</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a name="a43" doxytag="oscl_mem.h::operator new"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void* operator new </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">size_t&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>aSize</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<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>