<!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_HeapStringA class 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_HeapStringA Class Reference<br>
<small>
[<a class="el" href="group__osclutil.html">OSCL Util</a>]</small>
</h1><code>#include &lt;<a class="el" href="oscl__string__containers_8h-source.html">oscl_string_containers.h</a>&gt;</code>
<p>
<p>Inheritance diagram for OSCL_HeapStringA:
<p><center><img src="classOSCL__HeapStringA.png" usemap="#OSCL_HeapStringA_map" border="0" alt=""></center>
<map name="OSCL_HeapStringA_map">
<area href="classOSCL__String.html" alt="OSCL_String" shape="rect" coords="0,112,125,136">
<area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,125,80">
<area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,125,24">
</map>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
<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>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<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>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
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.
<p>
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.
<p>
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. 
<p>
<hr><h2>Member Typedef Documentation</h2>
<a name="s0" doxytag="OSCL_HeapStringA::chartype"></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"> typedef OSCL_String::chartype OSCL_HeapStringA::chartype
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Reimplemented from <a class="el" href="classOSCL__String.html#s0">OSCL_String</a>.    </td>
  </tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></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"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The default constructor creates an empty string. <dl compact><dt><b>am: (optional) allocator or reference-counted allocator.</b></dt><dd>
 </dl><dl compact><dt><b>am: (optional) reference counter associated with allocator object.</b></dt><dd>
 If no allocator is provided, this this object will use an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>. </dl>    </td>
  </tr>
</table>
<a name="a1" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></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"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>alloc</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a2" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></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"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OSCL_HeapStringA &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Creates a heap string that contains a copy of the input string. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src:</em>&nbsp;</td><td>
input string. </td></tr>
</table>
</dl><dl compact><dt><b>am: (optional) allocator or reference-counted allocator.</b></dt><dd>
 </dl><dl compact><dt><b>am: (optional) reference counter associated with allocator object.</b></dt><dd>
 If no allocator is provided, this this object will use an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>. </dl>    </td>
  </tr>
</table>
<a name="a3" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></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"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OSCL_HeapStringA &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>alloc</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a4" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></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"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__String.html">OSCL_String</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>src</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>alloc</em> = NULL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a5" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></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"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>cstr</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>alloc</em> = NULL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Creates a heap string that contains a copy of the input string. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>cp:</em>&nbsp;</td><td>
null-terminated string. </td></tr>
</table>
</dl><dl compact><dt><b>am: (optional) allocator or reference-counted allocator.</b></dt><dd>
 </dl><dl compact><dt><b>am: (optional) reference counter associated with allocator object.</b></dt><dd>
 If no allocator is provided, this this object will use an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>. </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="OSCL_HeapStringA::OSCL_HeapStringA"></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"> OSCL_IMPORT_REF OSCL_HeapStringA::OSCL_HeapStringA </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buf</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>uint32&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>alloc</em> = NULL, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classOsclRefCounter.html">OsclRefCounter</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>ref</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Creates a heap string that contains a copy of the input string or character array. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src:</em>&nbsp;</td><td>
character array, not necessarily null-terminated. </td></tr>
<tr><td valign=top><em>length:</em>&nbsp;</td><td>
number of characters to copy. </td></tr>
</table>
</dl><dl compact><dt><b>am: (optional) allocator or reference-counted allocator.</b></dt><dd>
 </dl><dl compact><dt><b>am: (optional) reference counter associated with allocator object.</b></dt><dd>
 If no allocator is provided, this this object will use an <a class="el" href="classOsclMemAllocator.html">OsclMemAllocator</a>. </dl>    </td>
  </tr>
</table>
<a name="a7" doxytag="OSCL_HeapStringA::~OSCL_HeapStringA"></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"> OSCL_IMPORT_REF OSCL_HeapStringA::~OSCL_HeapStringA </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a10" doxytag="OSCL_HeapStringA::get_cstr"></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"> OSCL_IMPORT_REF const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a>* OSCL_HeapStringA::get_cstr </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This function returns the C-style string for read access. 
<p>
Implements <a class="el" href="classOSCL__String.html#a2">OSCL_String</a>.    </td>
  </tr>
</table>
<a name="a9" doxytag="OSCL_HeapStringA::get_maxsize"></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"> OSCL_IMPORT_REF uint32 OSCL_HeapStringA::get_maxsize </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This function returns the maximum available storage size, not including null terminator. The maximum size may be larger than the current string size. 
<p>
Implements <a class="el" href="classOSCL__String.html#a1">OSCL_String</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="OSCL_HeapStringA::get_size"></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"> OSCL_IMPORT_REF uint32 OSCL_HeapStringA::get_size </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Pure virtuals from <a class="el" href="classOSCL__String.html">OSCL_String</a> 
<p>
Implements <a class="el" href="classOSCL__String.html#a0">OSCL_String</a>.    </td>
  </tr>
</table>
<a name="a11" doxytag="OSCL_HeapStringA::get_str"></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"> OSCL_IMPORT_REF <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a>* OSCL_HeapStringA::get_str </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This function returns the C-style string for write access. If the string is not writable it returns NULL. 
<p>
Implements <a class="el" href="classOSCL__String.html#a4">OSCL_String</a>.    </td>
  </tr>
</table>
<a name="a14" doxytag="OSCL_HeapStringA::operator="></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"> OSCL_IMPORT_REF OSCL_HeapStringA&amp; OSCL_HeapStringA::operator= </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>cstr</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Assignment operator <dl compact><dt><b>am: null-terminated string</b></dt><dd>
</dl>
<p>
Reimplemented from <a class="el" href="classOSCL__String.html#a6">OSCL_String</a>.    </td>
  </tr>
</table>
<a name="a13" doxytag="OSCL_HeapStringA::operator="></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"> OSCL_IMPORT_REF OSCL_HeapStringA&amp; OSCL_HeapStringA::operator= </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__String.html">OSCL_String</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Assignment operator 
<p>
Reimplemented from <a class="el" href="classOSCL__String.html#a5">OSCL_String</a>.    </td>
  </tr>
</table>
<a name="a12" doxytag="OSCL_HeapStringA::operator="></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"> OSCL_IMPORT_REF OSCL_HeapStringA&amp; OSCL_HeapStringA::operator= </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const OSCL_HeapStringA &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>src</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Assignment operators     </td>
  </tr>
</table>
<a name="a15" doxytag="OSCL_HeapStringA::set"></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"> OSCL_IMPORT_REF void OSCL_HeapStringA::set </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>buf</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>uint32&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>length</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the contents of this string to a new string or character array. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>buf:</em>&nbsp;</td><td>
string or character array. </td></tr>
<tr><td valign=top><em>length:</em>&nbsp;</td><td>
number of characters to copy. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<hr><h2>Friends And Related Function Documentation</h2>
<a name="l0" doxytag="OSCL_HeapStringA::OSCL_String"></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"> friend class OSCL_String<code> [friend]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="oscl__string__containers_8h-source.html">oscl_string_containers.h</a></ul>
<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>
