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> TemplateOSCL_HeapString< Alloc > 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_HeapString< Alloc > Class Template 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_HeapString< Alloc >: 15 <p><center><img src="classOSCL__HeapString.png" usemap="#OSCL_HeapString< Alloc >_map" border="0" alt=""></center> 16 <map name="OSCL_HeapString< Alloc >_map"> 17 <area href="classOSCL__String.html" alt="OSCL_String" shape="rect" coords="0,112,169,136"> 18 <area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,169,80"> 19 <area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,169,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__HeapString.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> </td><td valign=bottom><a class="el" href="group__osclutil.html#a74">OSCL_HeapString</a> ()</td></tr> 27 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="group__osclutil.html#a82">OSCL_HeapString</a> (const OSCL_HeapString &src)</td></tr> 28 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="group__osclutil.html#a84">OSCL_HeapString</a> (const <a class="el" href="classOSCL__String.html">OSCL_String</a> &src)</td></tr> 29 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="group__osclutil.html#a76">OSCL_HeapString</a> (const <a class="el" href="classOSCL__HeapString.html#s0">chartype</a> *cstr)</td></tr> 30 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="group__osclutil.html#a80">OSCL_HeapString</a> (const <a class="el" href="classOSCL__HeapString.html#s0">chartype</a> *buf, uint32 length)</td></tr> 31 <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="group__osclutil.html#a86">~OSCL_HeapString</a> ()</td></tr> 32 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="group__osclutil.html#a62">get_size</a> () const</td></tr> 33 <tr><td nowrap align=right valign=top>uint32 </td><td valign=bottom><a class="el" href="group__osclutil.html#a66">get_maxsize</a> () const</td></tr> 34 <tr><td nowrap align=right valign=top>const <a class="el" href="classOSCL__HeapString.html#s0">chartype</a> * </td><td valign=bottom><a class="el" href="group__osclutil.html#a68">get_cstr</a> () const</td></tr> 35 <tr><td nowrap align=right valign=top><a class="el" href="classOSCL__HeapString.html#s0">chartype</a> * </td><td valign=bottom><a class="el" href="group__osclutil.html#a70">get_str</a> () const</td></tr> 36 <tr><td nowrap align=right valign=top>OSCL_HeapString & </td><td valign=bottom><a class="el" href="group__osclutil.html#a88">operator=</a> (const OSCL_HeapString &src)</td></tr> 37 <tr><td nowrap align=right valign=top>OSCL_HeapString & </td><td valign=bottom><a class="el" href="group__osclutil.html#a90">operator=</a> (const <a class="el" href="classOSCL__String.html">OSCL_String</a> &src)</td></tr> 38 <tr><td nowrap align=right valign=top>OSCL_HeapString & </td><td valign=bottom><a class="el" href="group__osclutil.html#a92">operator=</a> (const <a class="el" href="classOSCL__HeapString.html#s0">chartype</a> *cstr)</td></tr> 39 <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group__osclutil.html#a78">set</a> (const <a class="el" href="classOSCL__HeapString.html#s0">chartype</a> *buf, uint32 length)</td></tr> 40 <tr><td colspan=2><br><h2>Friends</h2></td></tr> 41 <tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classOSCL__HeapString.html#l0">OSCL_String</a></td></tr> 42 </table> 43 <hr><a name="_details"></a><h2>Detailed Description</h2> 44 <h3>template<class Alloc><br> 45 class OSCL_HeapString< Alloc ></h3> 46 47 OSCL_HeapString is a simple string class, compatible with regular character array strings. 48 <p> 49 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. 50 <p> 51 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.<dl compact><dt><b>Parameters: </b></dt><dd> 52 <table border=0 cellspacing=2 cellpadding=0> 53 <tr><td valign=top><em>Alloc:</em> </td><td> 54 memory allocator, derived from <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a>. </td></tr> 55 </table> 56 </dl> 57 <p> 58 <hr><h2>Member Typedef Documentation</h2> 59 <a name="s0" doxytag="OSCL_HeapString::chartype"></a><p> 60 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 61 <tr> 62 <td class="md"> 63 <table cellpadding="0" cellspacing="0" border="0"> 64 <tr> 65 <td class="md" colspan="4"> 66 template<class Alloc> </td> 67 </tr> 68 <tr> 69 <td class="md" nowrap valign="top"> typedef OSCL_String::chartype OSCL_HeapString< Alloc >::chartype 70 </table> 71 </td> 72 </tr> 73 </table> 74 <table cellspacing=5 cellpadding=0 border=0> 75 <tr> 76 <td> 77 78 </td> 79 <td> 80 81 <p> 82 83 <p> 84 Reimplemented from <a class="el" href="classOSCL__String.html#s0">OSCL_String</a>. </td> 85 </tr> 86 </table> 87 <hr><h2>Friends And Related Function Documentation</h2> 88 <a name="l0" doxytag="OSCL_HeapString::OSCL_String"></a><p> 89 <table width="100%" cellpadding="2" cellspacing="0" border="0"> 90 <tr> 91 <td class="md"> 92 <table cellpadding="0" cellspacing="0" border="0"> 93 <tr> 94 <td class="md" colspan="4"> 95 template<class Alloc> </td> 96 </tr> 97 <tr> 98 <td class="md" nowrap valign="top"> friend class OSCL_String<code> [friend]</code> 99 </table> 100 </td> 101 </tr> 102 </table> 103 <table cellspacing=5 cellpadding=0 border=0> 104 <tr> 105 <td> 106 107 </td> 108 <td> 109 110 <p> 111 </td> 112 </tr> 113 </table> 114 <hr>The documentation for this class was generated from the following file:<ul> 115 <li><a class="el" href="oscl__string__containers_8h-source.html">oscl_string_containers.h</a></ul> 116 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 117 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 118 </small></address> 119 </body> 120 </html> 121