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> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </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 <<a class="el" href="oscl__string__containers_8h-source.html">oscl_string_containers.h</a>></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 </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 </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 </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 </td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a2">OSCL_HeapStringA</a> (const OSCL_HeapStringA &src)</td></tr> 29 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF </td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a3">OSCL_HeapStringA</a> (const OSCL_HeapStringA &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 </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> &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 </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 </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 </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 </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 </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> * </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> * </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 & </td><td valign=bottom><a class="el" href="classOSCL__HeapStringA.html#a12">operator=</a> (const OSCL_HeapStringA &src)</td></tr> 39 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF OSCL_HeapStringA & </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> &src)</td></tr> 40 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF OSCL_HeapStringA & </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 </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 </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 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 & 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">( </td> 86 <td class="mdname1" valign="top" nowrap> </td> 87 <td class="md" valign="top">) </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 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">( </td> 116 <td class="md" nowrap valign="top"><a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a> * </td> 117 <td class="mdname" nowrap> <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> * </td> 123 <td class="mdname" nowrap> <em>ref</em> = NULL</td> 124 </tr> 125 <tr> 126 <td></td> 127 <td class="md">) </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 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">( </td> 154 <td class="md" nowrap valign="top">const OSCL_HeapStringA & </td> 155 <td class="mdname1" valign="top" nowrap> <em>src</em> </td> 156 <td class="md" valign="top">) </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 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> </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">( </td> 190 <td class="md" nowrap valign="top">const OSCL_HeapStringA & </td> 191 <td class="mdname" nowrap> <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> * </td> 197 <td class="mdname" nowrap> <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> * </td> 203 <td class="mdname" nowrap> <em>ref</em> = NULL</td> 204 </tr> 205 <tr> 206 <td></td> 207 <td class="md">) </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 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">( </td> 234 <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__String.html">OSCL_String</a> & </td> 235 <td class="mdname" nowrap> <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> * </td> 241 <td class="mdname" nowrap> <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> * </td> 247 <td class="mdname" nowrap> <em>ref</em> = NULL</td> 248 </tr> 249 <tr> 250 <td></td> 251 <td class="md">) </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 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">( </td> 278 <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> * </td> 279 <td class="mdname" nowrap> <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> * </td> 285 <td class="mdname" nowrap> <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> * </td> 291 <td class="mdname" nowrap> <em>ref</em> = NULL</td> 292 </tr> 293 <tr> 294 <td></td> 295 <td class="md">) </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 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> </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">( </td> 329 <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> * </td> 330 <td class="mdname" nowrap> <em>buf</em>, </td> 331 </tr> 332 <tr> 333 <td></td> 334 <td></td> 335 <td class="md" nowrap>uint32 </td> 336 <td class="mdname" nowrap> <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> * </td> 342 <td class="mdname" nowrap> <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> * </td> 348 <td class="mdname" nowrap> <em>ref</em> = NULL</td> 349 </tr> 350 <tr> 351 <td></td> 352 <td class="md">) </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 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> </td><td> 371 character array, not necessarily null-terminated. </td></tr> 372 <tr><td valign=top><em>length:</em> </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">( </td> 388 <td class="mdname1" valign="top" nowrap> </td> 389 <td class="md" valign="top">) </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 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">( </td> 417 <td class="mdname1" valign="top" nowrap> </td> 418 <td class="md" valign="top">) </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 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">( </td> 447 <td class="mdname1" valign="top" nowrap> </td> 448 <td class="md" valign="top">) </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 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">( </td> 477 <td class="mdname1" valign="top" nowrap> </td> 478 <td class="md" valign="top">) </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 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">( </td> 507 <td class="mdname1" valign="top" nowrap> </td> 508 <td class="md" valign="top">) </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 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& OSCL_HeapStringA::operator= </td> 536 <td class="md" valign="top">( </td> 537 <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> * </td> 538 <td class="mdname1" valign="top" nowrap> <em>cstr</em> </td> 539 <td class="md" valign="top">) </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 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& OSCL_HeapStringA::operator= </td> 568 <td class="md" valign="top">( </td> 569 <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__String.html">OSCL_String</a> & </td> 570 <td class="mdname1" valign="top" nowrap> <em>src</em> </td> 571 <td class="md" valign="top">) </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 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& OSCL_HeapStringA::operator= </td> 599 <td class="md" valign="top">( </td> 600 <td class="md" nowrap valign="top">const OSCL_HeapStringA & </td> 601 <td class="mdname1" valign="top" nowrap> <em>src</em> </td> 602 <td class="md" valign="top">) </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 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">( </td> 629 <td class="md" nowrap valign="top">const <a class="el" href="classOSCL__HeapStringA.html#s0">chartype</a> * </td> 630 <td class="mdname" nowrap> <em>buf</em>, </td> 631 </tr> 632 <tr> 633 <td></td> 634 <td></td> 635 <td class="md" nowrap>uint32 </td> 636 <td class="mdname" nowrap> <em>length</em></td> 637 </tr> 638 <tr> 639 <td></td> 640 <td class="md">) </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 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> </td><td> 659 string or character array. </td></tr> 660 <tr><td valign=top><em>length:</em> </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 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