Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > 280da2a01a3d16776505ea3f476de84f > files > 164

icu-doc-3.8.1-2mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ICU 3.8: UMemory Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.1 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li id="current"><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
  </ul></div>
<h1>UMemory Class Reference</h1><!-- doxytag: class="UMemory" --><a class="el" href="classUMemory.html">UMemory</a> is the common ICU base class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="uobject_8h-source.html">uobject.h</a>&gt;</code>
<p>
<p>Inheritance diagram for UMemory:
<p><center><img src="classUMemory.png" usemap="#UMemory_map" border="0" alt=""></center>
<map name="UMemory_map">
<area href="classUObject.html" alt="UObject" shape="rect" coords="0,56,173,80">
<area href="classBreakIterator.html" alt="BreakIterator" shape="rect" coords="183,112,356,136">
<area href="classCalendar.html" alt="Calendar" shape="rect" coords="183,168,356,192">
<area href="classCanonicalIterator.html" alt="CanonicalIterator" shape="rect" coords="183,224,356,248">
<area href="classCollationElementIterator.html" alt="CollationElementIterator" shape="rect" coords="183,280,356,304">
<area href="classCollationKey.html" alt="CollationKey" shape="rect" coords="183,336,356,360">
<area href="classCollator.html" alt="Collator" shape="rect" coords="183,392,356,416">
<area href="classCollatorFactory.html" alt="CollatorFactory" shape="rect" coords="183,448,356,472">
<area href="classDateFormatSymbols.html" alt="DateFormatSymbols" shape="rect" coords="183,504,356,528">
<area href="classDateTimePatternGenerator.html" alt="DateTimePatternGenerator" shape="rect" coords="183,560,356,584">
<area href="classDateTimeRule.html" alt="DateTimeRule" shape="rect" coords="183,616,356,640">
<area href="classDecimalFormatSymbols.html" alt="DecimalFormatSymbols" shape="rect" coords="183,672,356,696">
<area href="classFieldPosition.html" alt="FieldPosition" shape="rect" coords="183,728,356,752">
<area href="classFormat.html" alt="Format" shape="rect" coords="183,784,356,808">
<area href="classFormattable.html" alt="Formattable" shape="rect" coords="183,840,356,864">
<area href="classForwardCharacterIterator.html" alt="ForwardCharacterIterator" shape="rect" coords="183,896,356,920">
<area href="classLayoutEngine.html" alt="LayoutEngine" shape="rect" coords="183,952,356,976">
<area href="classLEFontInstance.html" alt="LEFontInstance" shape="rect" coords="183,1008,356,1032">
<area href="classLEGlyphStorage.html" alt="LEGlyphStorage" shape="rect" coords="183,1064,356,1088">
<area href="classLocale.html" alt="Locale" shape="rect" coords="183,1120,356,1144">
<area href="classMeasure.html" alt="Measure" shape="rect" coords="183,1176,356,1200">
<area href="classMeasureUnit.html" alt="MeasureUnit" shape="rect" coords="183,1232,356,1256">
<area href="classNormalizer.html" alt="Normalizer" shape="rect" coords="183,1288,356,1312">
<area href="classNumberFormatFactory.html" alt="NumberFormatFactory" shape="rect" coords="183,1344,356,1368">
<area href="classParagraphLayout.html" alt="ParagraphLayout" shape="rect" coords="183,1400,356,1424">
<area href="classParagraphLayout_1_1Line.html" alt="ParagraphLayout::Line" shape="rect" coords="183,1456,356,1480">
<area href="classParagraphLayout_1_1VisualRun.html" alt="ParagraphLayout::VisualRun" shape="rect" coords="183,1512,356,1536">
<area href="classParsePosition.html" alt="ParsePosition" shape="rect" coords="183,1568,356,1592">
<area href="classRegexMatcher.html" alt="RegexMatcher" shape="rect" coords="183,1624,356,1648">
<area href="classRegexPattern.html" alt="RegexPattern" shape="rect" coords="183,1680,356,1704">
<area href="classReplaceable.html" alt="Replaceable" shape="rect" coords="183,1736,356,1760">
<area href="classResourceBundle.html" alt="ResourceBundle" shape="rect" coords="183,1792,356,1816">
<area href="classRunArray.html" alt="RunArray" shape="rect" coords="183,1848,356,1872">
<area href="classSearchIterator.html" alt="SearchIterator" shape="rect" coords="183,1904,356,1928">
<area href="classStringEnumeration.html" alt="StringEnumeration" shape="rect" coords="183,1960,356,1984">
<area href="classTimeZone.html" alt="TimeZone" shape="rect" coords="183,2016,356,2040">
<area href="classTimeZoneRule.html" alt="TimeZoneRule" shape="rect" coords="183,2072,356,2096">
<area href="classTimeZoneTransition.html" alt="TimeZoneTransition" shape="rect" coords="183,2128,356,2152">
<area href="classTransliterator.html" alt="Transliterator" shape="rect" coords="183,2184,356,2208">
<area href="classUnicodeFunctor.html" alt="UnicodeFunctor" shape="rect" coords="183,2240,356,2264">
<area href="classUnicodeSetIterator.html" alt="UnicodeSetIterator" shape="rect" coords="183,2296,356,2320">
</map>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#309b19b5777e2840b85b202aef5a54fb">operator new</a> (size_t size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override for ICU4C C++ memory management.  <a href="#309b19b5777e2840b85b202aef5a54fb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#4d0df3571728e7b8a823dbbea6e9b5c5">operator new[]</a> (size_t size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override for ICU4C C++ memory management.  <a href="#4d0df3571728e7b8a823dbbea6e9b5c5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#dcda65a58813749f8f45c5e6c1ed37e1">operator delete</a> (void *p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override for ICU4C C++ memory management.  <a href="#dcda65a58813749f8f45c5e6c1ed37e1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#7602a7a8c6fdff21d9fbecea4d899333">operator delete[]</a> (void *p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override for ICU4C C++ memory management.  <a href="#7602a7a8c6fdff21d9fbecea4d899333"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#43b5221fe429f77230b2040f8724c154">operator new</a> (size_t, void *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override for ICU4C C++ memory management for STL.  <a href="#43b5221fe429f77230b2040f8724c154"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#9b746b0cdb49c8f8907773002ea5c4ea">operator delete</a> (void *, void *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override for ICU4C C++ memory management for STL.  <a href="#9b746b0cdb49c8f8907773002ea5c4ea"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classUMemory.html">UMemory</a> is the common ICU base class. 
<p>
All other ICU C++ classes are derived from <a class="el" href="classUMemory.html">UMemory</a> (starting with ICU 2.4).<p>
This is primarily to make it possible and simple to override the C++ memory management by adding new/delete operators to this base class.<p>
To override ALL ICU memory management, including that from plain C code, replace the allocation functions declared in cmemory.h<p>
<a class="el" href="classUMemory.html">UMemory</a> does not contain any virtual functions. Common "boilerplate" functions are defined in <a class="el" href="classUObject.html">UObject</a>.<p>
<dl compact><dt><b><a class="el" href="stable.html#_stable001543">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p>

<p>
Definition at line <a class="el" href="uobject_8h-source.html#l00077">77</a> of file <a class="el" href="uobject_8h-source.html">uobject.h</a>.<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="309b19b5777e2840b85b202aef5a54fb"></a><!-- doxytag: member="UMemory::operator new" ref="309b19b5777e2840b85b202aef5a54fb" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void* UMemory::operator new           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override for ICU4C C++ memory management. 
<p>
simple, non-class types are allocated using the macros in common/cmemory.h (uprv_malloc(), uprv_free(), uprv_realloc()); they or something else could be used here to implement C++ new/delete for ICU4C C++ classes <dl compact><dt><b><a class="el" href="stable.html#_stable001545">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div><p>
<a class="anchor" name="4d0df3571728e7b8a823dbbea6e9b5c5"></a><!-- doxytag: member="UMemory::operator new[]" ref="4d0df3571728e7b8a823dbbea6e9b5c5" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void* UMemory::operator new[]           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override for ICU4C C++ memory management. 
<p>
See new(). <dl compact><dt><b><a class="el" href="stable.html#_stable001546">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div><p>
<a class="anchor" name="dcda65a58813749f8f45c5e6c1ed37e1"></a><!-- doxytag: member="UMemory::operator delete" ref="dcda65a58813749f8f45c5e6c1ed37e1" args="(void *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void UMemory::operator delete           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override for ICU4C C++ memory management. 
<p>
simple, non-class types are allocated using the macros in common/cmemory.h (uprv_malloc(), uprv_free(), uprv_realloc()); they or something else could be used here to implement C++ new/delete for ICU4C C++ classes <dl compact><dt><b><a class="el" href="stable.html#_stable001547">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div><p>
<a class="anchor" name="7602a7a8c6fdff21d9fbecea4d899333"></a><!-- doxytag: member="UMemory::operator delete[]" ref="7602a7a8c6fdff21d9fbecea4d899333" args="(void *p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void UMemory::operator delete[]           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override for ICU4C C++ memory management. 
<p>
See delete(). <dl compact><dt><b><a class="el" href="stable.html#_stable001548">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

</div>
</div><p>
<a class="anchor" name="43b5221fe429f77230b2040f8724c154"></a><!-- doxytag: member="UMemory::operator new" ref="43b5221fe429f77230b2040f8724c154" args="(size_t, void *ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void* UMemory::operator new           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override for ICU4C C++ memory management for STL. 
<p>
See new(). <dl compact><dt><b><a class="el" href="stable.html#_stable001549">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>

<p>
Definition at line <a class="el" href="uobject_8h-source.html#l00121">121</a> of file <a class="el" href="uobject_8h-source.html">uobject.h</a>.
</div>
</div><p>
<a class="anchor" name="9b746b0cdb49c8f8907773002ea5c4ea"></a><!-- doxytag: member="UMemory::operator delete" ref="9b746b0cdb49c8f8907773002ea5c4ea" args="(void *, void *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void UMemory::operator delete           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override for ICU4C C++ memory management for STL. 
<p>
See delete(). <dl compact><dt><b><a class="el" href="stable.html#_stable001550">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl>

<p>
Definition at line <a class="el" href="uobject_8h-source.html#l00128">128</a> of file <a class="el" href="uobject_8h-source.html">uobject.h</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="uobject_8h-source.html">uobject.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Fri Sep 14 12:59:48 2007 for ICU 3.8 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
</body>
</html>