• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>
46OSCL_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>
48The 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>
50The 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>
74Reimplemented 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>
103The 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>
172Creates 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>
175input 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>
311Creates 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>
314null-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>
368Creates 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>
371character array, not necessarily null-terminated. </td></tr>
372<tr><td valign=top><em>length:</em>&nbsp;</td><td>
373number 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>
434This function returns the C-style string for read access.
435<p>
436Implements <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>
464This function returns the maximum available storage size, not including null terminator. The maximum size may be larger than the current string size.
465<p>
466Implements <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>
494Pure virtuals from <a class="el" href="classOSCL__String.html">OSCL_String</a>
495<p>
496Implements <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>
524This function returns the C-style string for write access. If the string is not writable it returns NULL.
525<p>
526Implements <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>
555Assignment operator <dl compact><dt><b>am: null-terminated string</b></dt><dd>
556</dl>
557<p>
558Reimplemented 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>
587Assignment operator
588<p>
589Reimplemented 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>
618Assignment 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>
656Set 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>
659string or character array. </td></tr>
660<tr><td valign=top><em>length:</em>&nbsp;</td><td>
661number 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