Home | History | Annotate | Download | only in oscl_html
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
      3 <title>OSCL_HeapStringA class Reference</title>
      4 <link href="doxygen.css" rel="stylesheet" type="text/css">
      5 </head><body>
      6 <!-- Generated by Doxygen 1.2.18 -->
      7 <center>
      8 <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>
      9 <hr><h1>OSCL_HeapStringA Class Reference<br>
     10 <small>
     11 [<a class="el" href="group__osclutil.html">OSCL Util</a>]</small>
     12 </h1><code>#include &lt;<a class="el" href="oscl__string__containers_8h-source.html">oscl_string_containers.h</a>&gt;</code>
     13 <p>
     14 <p>Inheritance diagram for OSCL_HeapStringA:
     15 <p><center><img src="classOSCL__HeapStringA.png" usemap="#OSCL_HeapStringA_map" border="0" alt=""></center>
     16 <map name="OSCL_HeapStringA_map">
     17 <area href="classOSCL__String.html" alt="OSCL_String" shape="rect" coords="0,112,125,136">
     18 <area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,125,80">
     19 <area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,125,24">
     20 </map>
     21 <table border=0 cellpadding=0 cellspacing=0>
     22 <tr><td></td></tr>
     23 <tr><td colspan=2><br><h2>Public Types</h2></td></tr>
     24 <tr><td nowrap align=right valign=top>typedef OSCL_String::chartype&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a></td></tr>
     25 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
     26 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a0">OSCL_HeapStringA</a> ()</td></tr>
     27 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a1">OSCL_HeapStringA</a> (<a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *alloc, <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *ref=NULL)</td></tr>
     28 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a2">OSCL_HeapStringA</a> (const OSCL_HeapStringA &amp;src)</td></tr>
     29 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a3">OSCL_HeapStringA</a> (const OSCL_HeapStringA &amp;src, <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *alloc, <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *ref=NULL)</td></tr>
     30 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a4">OSCL_HeapStringA</a> (const <a class="el" href="classOSCL__String.html">OSCL_String</a> &amp;src, <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *alloc=NULL, <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *ref=NULL)</td></tr>
     31 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a5">OSCL_HeapStringA</a> (const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *cstr, <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *alloc=NULL, <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *ref=NULL)</td></tr>
     32 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a6">OSCL_HeapStringA</a> (const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *buf, uint32 length, <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *alloc=NULL, <a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *ref=NULL)</td></tr>
     33 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a7">~OSCL_HeapStringA</a> ()</td></tr>
     34 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a8">get_size</a> () const</td></tr>
     35 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a9">get_maxsize</a> () const</td></tr>
     36 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a10">get_cstr</a> () const</td></tr>
     37 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a11">get_str</a> () const</td></tr>
     38 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF OSCL_HeapStringA &amp;&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a12">operator=</a> (const OSCL_HeapStringA &amp;src)</td></tr>
     39 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF OSCL_HeapStringA &amp;&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a13">operator=</a> (const <a class="el" href="classOSCL__String.html">OSCL_String</a> &amp;src)</td></tr>
     40 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF OSCL_HeapStringA &amp;&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a14">operator=</a> (const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *cstr)</td></tr>
     41 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a15">set</a> (const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *buf, uint32 length)</td></tr>
     42 <tr><td colspan=2><br><h2>Friends</h2></td></tr>
     43 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#l0">OSCL_String</a></td></tr>
     44 </table>
     45 <hr><a name="_details"></a><h2>Detailed Description</h2>
     46 OSCL_HeapStringA is a simple string class, compatible with regular character array strings. It is similar to <a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a>, except that the allocator is passed at run-time instead of compile-time. The allocator pointer is passed in the constructor, and may be a reference-counted object. If the allocator is not a reference-counted object then it must persist over the lifetime of all OSCL_HeapStringA objects that use it. If no allocator is provided, then an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a> will be used.
     47 <p>
     48 The string array is variable length, is allocated from the heap, and is modifiable. A copy-on-write mechanism is used to minimize unnecessary copying when multiple instances of a string are created for reading. Allocated memory is automatically freed by the class destructor when the last string referencing the memory is destroyed.
     49 <p>
     50 The class HAS NO thread synchronization built-in, so it is NOT MT-SAFE. External locks should be used if the class is to be shared across threads. 
     51 <p>
     52 <hr><h2>Member Typedef Documentation</h2>
     53 <a name="s0" doxytag="OSCL_HeapStringA::chartype"></a><p>
     54 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     55   <tr>
     56     <td class="md">
     57       <table cellpadding="0" cellspacing="0" border="0">
     58         <tr>
     59           <td class="md" nowrap valign="top"> typedef OSCL_String::chartype OSCL_HeapStringA::chartype
     60       </table>
     61     </td>
     62   </tr>
     63 </table>
     64 <table cellspacing=5 cellpadding=0 border=0>
     65   <tr>
     66     <td>
     67       &nbsp;
     68     </td>
     69     <td>
     70 
     71 <p>
     72 
     73 <p>
     74 Reimplemented from <a class="el" href="classOSCL__String.html#s0">OSCL_String</a>.    </td>
     75   </tr>
     76 </table>
     77 <hr><h2>Constructor &amp; Destructor Documentation</h2>
     78 <a name="a0" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></a><p>
     79 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     80   <tr>
     81     <td class="md">
     82       <table cellpadding="0" cellspacing="0" border="0">
     83         <tr>
     84           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
     85           <td class="md" valign="top">(&nbsp;</td>
     86           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
     87           <td class="md" valign="top">)&nbsp;</td>
     88           <td class="md" nowrap></td>
     89         </tr>
     90 
     91       </table>
     92     </td>
     93   </tr>
     94 </table>
     95 <table cellspacing=5 cellpadding=0 border=0>
     96   <tr>
     97     <td>
     98       &nbsp;
     99     </td>
    100     <td>
    101 
    102 <p>
    103 The default constructor creates an empty string. <dl compact><dt><b>am: (optional) allocator or reference-counted allocator.</b></dt><dd>
    104  </dl><dl compact><dt><b>am: (optional) reference counter associated with allocator object.</b></dt><dd>
    105  If no allocator is provided, this this object will use an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>. </dl>    </td>
    106   </tr>
    107 </table>
    108 <a name="a1" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></a><p>
    109 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    110   <tr>
    111     <td class="md">
    112       <table cellpadding="0" cellspacing="0" border="0">
    113         <tr>
    114           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
    115           <td class="md" valign="top">(&nbsp;</td>
    116           <td class="md" nowrap valign="top"><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
    117           <td class="mdname" nowrap>&nbsp; <em>alloc</em>, </td>
    118         </tr>
    119         <tr>
    120           <td></td>
    121           <td></td>
    122           <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
    123           <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
    124         </tr>
    125         <tr>
    126           <td></td>
    127           <td class="md">)&nbsp;</td>
    128           <td class="md" colspan="2"></td>
    129         </tr>
    130 
    131       </table>
    132     </td>
    133   </tr>
    134 </table>
    135 <table cellspacing=5 cellpadding=0 border=0>
    136   <tr>
    137     <td>
    138       &nbsp;
    139     </td>
    140     <td>
    141 
    142 <p>
    143     </td>
    144   </tr>
    145 </table>
    146 <a name="a2" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></a><p>
    147 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    148   <tr>
    149     <td class="md">
    150       <table cellpadding="0" cellspacing="0" border="0">
    151         <tr>
    152           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
    153           <td class="md" valign="top">(&nbsp;</td>
    154           <td class="md" nowrap valign="top">const OSCL_HeapStringA &amp;&nbsp;</td>
    155           <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
    156           <td class="md" valign="top">)&nbsp;</td>
    157           <td class="md" nowrap></td>
    158         </tr>
    159 
    160       </table>
    161     </td>
    162   </tr>
    163 </table>
    164 <table cellspacing=5 cellpadding=0 border=0>
    165   <tr>
    166     <td>
    167       &nbsp;
    168     </td>
    169     <td>
    170 
    171 <p>
    172 Creates a heap string that contains a copy of the input string. <dl compact><dt><b>Parameters: </b></dt><dd>
    173 <table border=0 cellspacing=2 cellpadding=0>
    174 <tr><td valign=top><em>src:</em>&nbsp;</td><td>
    175 input string. </td></tr>
    176 </table>
    177 </dl><dl compact><dt><b>am: (optional) allocator or reference-counted allocator.</b></dt><dd>
    178  </dl><dl compact><dt><b>am: (optional) reference counter associated with allocator object.</b></dt><dd>
    179  If no allocator is provided, this this object will use an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>. </dl>    </td>
    180   </tr>
    181 </table>
    182 <a name="a3" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></a><p>
    183 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    184   <tr>
    185     <td class="md">
    186       <table cellpadding="0" cellspacing="0" border="0">
    187         <tr>
    188           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
    189           <td class="md" valign="top">(&nbsp;</td>
    190           <td class="md" nowrap valign="top">const OSCL_HeapStringA &amp;&nbsp;</td>
    191           <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
    192         </tr>
    193         <tr>
    194           <td></td>
    195           <td></td>
    196           <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
    197           <td class="mdname" nowrap>&nbsp; <em>alloc</em>, </td>
    198         </tr>
    199         <tr>
    200           <td></td>
    201           <td></td>
    202           <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
    203           <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
    204         </tr>
    205         <tr>
    206           <td></td>
    207           <td class="md">)&nbsp;</td>
    208           <td class="md" colspan="2"></td>
    209         </tr>
    210 
    211       </table>
    212     </td>
    213   </tr>
    214 </table>
    215 <table cellspacing=5 cellpadding=0 border=0>
    216   <tr>
    217     <td>
    218       &nbsp;
    219     </td>
    220     <td>
    221 
    222 <p>
    223     </td>
    224   </tr>
    225 </table>
    226 <a name="a4" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></a><p>
    227 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    228   <tr>
    229     <td class="md">
    230       <table cellpadding="0" cellspacing="0" border="0">
    231         <tr>
    232           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
    233           <td class="md" valign="top">(&nbsp;</td>
    234           <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__String.html">OSCL_String</a> &amp;&nbsp;</td>
    235           <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
    236         </tr>
    237         <tr>
    238           <td></td>
    239           <td></td>
    240           <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
    241           <td class="mdname" nowrap>&nbsp; <em>alloc</em> = NULL, </td>
    242         </tr>
    243         <tr>
    244           <td></td>
    245           <td></td>
    246           <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
    247           <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
    248         </tr>
    249         <tr>
    250           <td></td>
    251           <td class="md">)&nbsp;</td>
    252           <td class="md" colspan="2"></td>
    253         </tr>
    254 
    255       </table>
    256     </td>
    257   </tr>
    258 </table>
    259 <table cellspacing=5 cellpadding=0 border=0>
    260   <tr>
    261     <td>
    262       &nbsp;
    263     </td>
    264     <td>
    265 
    266 <p>
    267     </td>
    268   </tr>
    269 </table>
    270 <a name="a5" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></a><p>
    271 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    272   <tr>
    273     <td class="md">
    274       <table cellpadding="0" cellspacing="0" border="0">
    275         <tr>
    276           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
    277           <td class="md" valign="top">(&nbsp;</td>
    278           <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td>
    279           <td class="mdname" nowrap>&nbsp; <em>cstr</em>, </td>
    280         </tr>
    281         <tr>
    282           <td></td>
    283           <td></td>
    284           <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
    285           <td class="mdname" nowrap>&nbsp; <em>alloc</em> = NULL, </td>
    286         </tr>
    287         <tr>
    288           <td></td>
    289           <td></td>
    290           <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
    291           <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
    292         </tr>
    293         <tr>
    294           <td></td>
    295           <td class="md">)&nbsp;</td>
    296           <td class="md" colspan="2"></td>
    297         </tr>
    298 
    299       </table>
    300     </td>
    301   </tr>
    302 </table>
    303 <table cellspacing=5 cellpadding=0 border=0>
    304   <tr>
    305     <td>
    306       &nbsp;
    307     </td>
    308     <td>
    309 
    310 <p>
    311 Creates a heap string that contains a copy of the input string. <dl compact><dt><b>Parameters: </b></dt><dd>
    312 <table border=0 cellspacing=2 cellpadding=0>
    313 <tr><td valign=top><em>cp:</em>&nbsp;</td><td>
    314 null-terminated string. </td></tr>
    315 </table>
    316 </dl><dl compact><dt><b>am: (optional) allocator or reference-counted allocator.</b></dt><dd>
    317  </dl><dl compact><dt><b>am: (optional) reference counter associated with allocator object.</b></dt><dd>
    318  If no allocator is provided, this this object will use an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>. </dl>    </td>
    319   </tr>
    320 </table>
    321 <a name="a6" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></a><p>
    322 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    323   <tr>
    324     <td class="md">
    325       <table cellpadding="0" cellspacing="0" border="0">
    326         <tr>
    327           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
    328           <td class="md" valign="top">(&nbsp;</td>
    329           <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td>
    330           <td class="mdname" nowrap>&nbsp; <em>buf</em>, </td>
    331         </tr>
    332         <tr>
    333           <td></td>
    334           <td></td>
    335           <td class="md" nowrap>uint32&nbsp;</td>
    336           <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
    337         </tr>
    338         <tr>
    339           <td></td>
    340           <td></td>
    341           <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
    342           <td class="mdname" nowrap>&nbsp; <em>alloc</em> = NULL, </td>
    343         </tr>
    344         <tr>
    345           <td></td>
    346           <td></td>
    347           <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
    348           <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
    349         </tr>
    350         <tr>
    351           <td></td>
    352           <td class="md">)&nbsp;</td>
    353           <td class="md" colspan="2"></td>
    354         </tr>
    355 
    356       </table>
    357     </td>
    358   </tr>
    359 </table>
    360 <table cellspacing=5 cellpadding=0 border=0>
    361   <tr>
    362     <td>
    363       &nbsp;
    364     </td>
    365     <td>
    366 
    367 <p>
    368 Creates a heap string that contains a copy of the input string or character array. <dl compact><dt><b>Parameters: </b></dt><dd>
    369 <table border=0 cellspacing=2 cellpadding=0>
    370 <tr><td valign=top><em>src:</em>&nbsp;</td><td>
    371 character array, not necessarily null-terminated. </td></tr>
    372 <tr><td valign=top><em>length:</em>&nbsp;</td><td>
    373 number of characters to copy. </td></tr>
    374 </table>
    375 </dl><dl compact><dt><b>am: (optional) allocator or reference-counted allocator.</b></dt><dd>
    376  </dl><dl compact><dt><b>am: (optional) reference counter associated with allocator object.</b></dt><dd>
    377  If no allocator is provided, this this object will use an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>. </dl>    </td>
    378   </tr>
    379 </table>
    380 <a name="a7" doxytag="OSCL_HeapStringA::~OSCL_HeapStringA"></a><p>
    381 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    382   <tr>
    383     <td class="md">
    384       <table cellpadding="0" cellspacing="0" border="0">
    385         <tr>
    386           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA::~OSCL_HeapStringA </td>
    387           <td class="md" valign="top">(&nbsp;</td>
    388           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    389           <td class="md" valign="top">)&nbsp;</td>
    390           <td class="md" nowrap></td>
    391         </tr>
    392 
    393       </table>
    394     </td>
    395   </tr>
    396 </table>
    397 <table cellspacing=5 cellpadding=0 border=0>
    398   <tr>
    399     <td>
    400       &nbsp;
    401     </td>
    402     <td>
    403 
    404 <p>
    405     </td>
    406   </tr>
    407 </table>
    408 <hr><h2>Member Function Documentation</h2>
    409 <a name="a10" doxytag="OSCL_HeapStringA::get_cstr"></a><p>
    410 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    411   <tr>
    412     <td class="md">
    413       <table cellpadding="0" cellspacing="0" border="0">
    414         <tr>
    415           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a>* OSCL_HeapStringA::get_cstr </td>
    416           <td class="md" valign="top">(&nbsp;</td>
    417           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    418           <td class="md" valign="top">)&nbsp;</td>
    419           <td class="md" nowrap><code> [virtual]</code></td>
    420         </tr>
    421 
    422       </table>
    423     </td>
    424   </tr>
    425 </table>
    426 <table cellspacing=5 cellpadding=0 border=0>
    427   <tr>
    428     <td>
    429       &nbsp;
    430     </td>
    431     <td>
    432 
    433 <p>
    434 This function returns the C-style string for read access. 
    435 <p>
    436 Implements <a class="el" href="classOSCL__String.html#a2">OSCL_String</a>.    </td>
    437   </tr>
    438 </table>
    439 <a name="a9" doxytag="OSCL_HeapStringA::get_maxsize"></a><p>
    440 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    441   <tr>
    442     <td class="md">
    443       <table cellpadding="0" cellspacing="0" border="0">
    444         <tr>
    445           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 OSCL_HeapStringA::get_maxsize </td>
    446           <td class="md" valign="top">(&nbsp;</td>
    447           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    448           <td class="md" valign="top">)&nbsp;</td>
    449           <td class="md" nowrap><code> [virtual]</code></td>
    450         </tr>
    451 
    452       </table>
    453     </td>
    454   </tr>
    455 </table>
    456 <table cellspacing=5 cellpadding=0 border=0>
    457   <tr>
    458     <td>
    459       &nbsp;
    460     </td>
    461     <td>
    462 
    463 <p>
    464 This function returns the maximum available storage size, not including null terminator. The maximum size may be larger than the current string size. 
    465 <p>
    466 Implements <a class="el" href="classOSCL__String.html#a1">OSCL_String</a>.    </td>
    467   </tr>
    468 </table>
    469 <a name="a8" doxytag="OSCL_HeapStringA::get_size"></a><p>
    470 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    471   <tr>
    472     <td class="md">
    473       <table cellpadding="0" cellspacing="0" border="0">
    474         <tr>
    475           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 OSCL_HeapStringA::get_size </td>
    476           <td class="md" valign="top">(&nbsp;</td>
    477           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    478           <td class="md" valign="top">)&nbsp;</td>
    479           <td class="md" nowrap><code> [virtual]</code></td>
    480         </tr>
    481 
    482       </table>
    483     </td>
    484   </tr>
    485 </table>
    486 <table cellspacing=5 cellpadding=0 border=0>
    487   <tr>
    488     <td>
    489       &nbsp;
    490     </td>
    491     <td>
    492 
    493 <p>
    494 Pure virtuals from <a class="el" href="classOSCL__String.html">OSCL_String</a> 
    495 <p>
    496 Implements <a class="el" href="classOSCL__String.html#a0">OSCL_String</a>.    </td>
    497   </tr>
    498 </table>
    499 <a name="a11" doxytag="OSCL_HeapStringA::get_str"></a><p>
    500 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    501   <tr>
    502     <td class="md">
    503       <table cellpadding="0" cellspacing="0" border="0">
    504         <tr>
    505           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a>* OSCL_HeapStringA::get_str </td>
    506           <td class="md" valign="top">(&nbsp;</td>
    507           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    508           <td class="md" valign="top">)&nbsp;</td>
    509           <td class="md" nowrap><code> [virtual]</code></td>
    510         </tr>
    511 
    512       </table>
    513     </td>
    514   </tr>
    515 </table>
    516 <table cellspacing=5 cellpadding=0 border=0>
    517   <tr>
    518     <td>
    519       &nbsp;
    520     </td>
    521     <td>
    522 
    523 <p>
    524 This function returns the C-style string for write access. If the string is not writable it returns NULL. 
    525 <p>
    526 Implements <a class="el" href="classOSCL__String.html#a4">OSCL_String</a>.    </td>
    527   </tr>
    528 </table>
    529 <a name="a14" doxytag="OSCL_HeapStringA::operator="></a><p>
    530 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    531   <tr>
    532     <td class="md">
    533       <table cellpadding="0" cellspacing="0" border="0">
    534         <tr>
    535           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA&amp; OSCL_HeapStringA::operator= </td>
    536           <td class="md" valign="top">(&nbsp;</td>
    537           <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td>
    538           <td class="mdname1" valign="top" nowrap>&nbsp; <em>cstr</em>          </td>
    539           <td class="md" valign="top">)&nbsp;</td>
    540           <td class="md" nowrap></td>
    541         </tr>
    542 
    543       </table>
    544     </td>
    545   </tr>
    546 </table>
    547 <table cellspacing=5 cellpadding=0 border=0>
    548   <tr>
    549     <td>
    550       &nbsp;
    551     </td>
    552     <td>
    553 
    554 <p>
    555 Assignment operator <dl compact><dt><b>am: null-terminated string</b></dt><dd>
    556 </dl>
    557 <p>
    558 Reimplemented from <a class="el" href="classOSCL__String.html#a6">OSCL_String</a>.    </td>
    559   </tr>
    560 </table>
    561 <a name="a13" doxytag="OSCL_HeapStringA::operator="></a><p>
    562 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    563   <tr>
    564     <td class="md">
    565       <table cellpadding="0" cellspacing="0" border="0">
    566         <tr>
    567           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA&amp; OSCL_HeapStringA::operator= </td>
    568           <td class="md" valign="top">(&nbsp;</td>
    569           <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__String.html">OSCL_String</a> &amp;&nbsp;</td>
    570           <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
    571           <td class="md" valign="top">)&nbsp;</td>
    572           <td class="md" nowrap></td>
    573         </tr>
    574 
    575       </table>
    576     </td>
    577   </tr>
    578 </table>
    579 <table cellspacing=5 cellpadding=0 border=0>
    580   <tr>
    581     <td>
    582       &nbsp;
    583     </td>
    584     <td>
    585 
    586 <p>
    587 Assignment operator 
    588 <p>
    589 Reimplemented from <a class="el" href="classOSCL__String.html#a5">OSCL_String</a>.    </td>
    590   </tr>
    591 </table>
    592 <a name="a12" doxytag="OSCL_HeapStringA::operator="></a><p>
    593 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    594   <tr>
    595     <td class="md">
    596       <table cellpadding="0" cellspacing="0" border="0">
    597         <tr>
    598           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF OSCL_HeapStringA&amp; OSCL_HeapStringA::operator= </td>
    599           <td class="md" valign="top">(&nbsp;</td>
    600           <td class="md" nowrap valign="top">const OSCL_HeapStringA &amp;&nbsp;</td>
    601           <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
    602           <td class="md" valign="top">)&nbsp;</td>
    603           <td class="md" nowrap></td>
    604         </tr>
    605 
    606       </table>
    607     </td>
    608   </tr>
    609 </table>
    610 <table cellspacing=5 cellpadding=0 border=0>
    611   <tr>
    612     <td>
    613       &nbsp;
    614     </td>
    615     <td>
    616 
    617 <p>
    618 Assignment operators     </td>
    619   </tr>
    620 </table>
    621 <a name="a15" doxytag="OSCL_HeapStringA::set"></a><p>
    622 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    623   <tr>
    624     <td class="md">
    625       <table cellpadding="0" cellspacing="0" border="0">
    626         <tr>
    627           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void OSCL_HeapStringA::set </td>
    628           <td class="md" valign="top">(&nbsp;</td>
    629           <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td>
    630           <td class="mdname" nowrap>&nbsp; <em>buf</em>, </td>
    631         </tr>
    632         <tr>
    633           <td></td>
    634           <td></td>
    635           <td class="md" nowrap>uint32&nbsp;</td>
    636           <td class="mdname" nowrap>&nbsp; <em>length</em></td>
    637         </tr>
    638         <tr>
    639           <td></td>
    640           <td class="md">)&nbsp;</td>
    641           <td class="md" colspan="2"></td>
    642         </tr>
    643 
    644       </table>
    645     </td>
    646   </tr>
    647 </table>
    648 <table cellspacing=5 cellpadding=0 border=0>
    649   <tr>
    650     <td>
    651       &nbsp;
    652     </td>
    653     <td>
    654 
    655 <p>
    656 Set the contents of this string to a new string or character array. <dl compact><dt><b>Parameters: </b></dt><dd>
    657 <table border=0 cellspacing=2 cellpadding=0>
    658 <tr><td valign=top><em>buf:</em>&nbsp;</td><td>
    659 string or character array. </td></tr>
    660 <tr><td valign=top><em>length:</em>&nbsp;</td><td>
    661 number of characters to copy. </td></tr>
    662 </table>
    663 </dl>    </td>
    664   </tr>
    665 </table>
    666 <hr><h2>Friends And Related Function Documentation</h2>
    667 <a name="l0" doxytag="OSCL_HeapStringA::OSCL_String"></a><p>
    668 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    669   <tr>
    670     <td class="md">
    671       <table cellpadding="0" cellspacing="0" border="0">
    672         <tr>
    673           <td class="md" nowrap valign="top"> friend class OSCL_String<code> [friend]</code>
    674       </table>
    675     </td>
    676   </tr>
    677 </table>
    678 <table cellspacing=5 cellpadding=0 border=0>
    679   <tr>
    680     <td>
    681       &nbsp;
    682     </td>
    683     <td>
    684 
    685 <p>
    686     </td>
    687   </tr>
    688 </table>
    689 <hr>The documentation for this class was generated from the following file:<ul>
    690 <li><a class="el" href="oscl__string__containers_8h-source.html">oscl_string_containers.h</a></ul>
    691 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
    692 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
    693 </small></address>
    694 </body>
    695 </html>
    696