aboutsummaryrefslogtreecommitdiff
path: root/doc/oscl_html/classOSCL__HeapString.html
blob: 6d1b1a47a70c3fc3881f757370cbc9ea031606e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>oscl: OSCL_HeapString&lt; Alloc &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>OSCL_HeapString&lt; Alloc &gt; Class Template Reference<br/>
<small>
[<a class="el" href="group__osclutil.html">OSCL Util</a>]</small>
</h1><!-- doxytag: class="OSCL_HeapString" --><!-- doxytag: inherits="OSCL_String" -->
<p><code>#include &lt;<a class="el" href="oscl__string__containers_8h_source.html">oscl_string_containers.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for OSCL_HeapString&lt; Alloc &gt;:</div>
<div class="dynsection">
 <div class="center">
  <img src="classOSCL__HeapString.png" usemap="#OSCL_HeapString&lt; Alloc &gt;_map" alt=""/>
  <map id="OSCL_HeapString&lt; Alloc &gt;_map" name="OSCL_HeapString&lt; Alloc &gt;_map">
<area href="classOSCL__String.html" alt="OSCL_String" shape="rect" coords="0,112,169,136"/>
<area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,169,80"/>
<area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,169,24"/>
</map>
 </div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classOSCL__String.html#af7dea5502bbb5f76c4680a06e4d8f143">OSCL_String::chartype</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOSCL__HeapString.html#a89f48c86b20849dbe19d2223269aac1f">chartype</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__osclutil.html#gaf6a637a78b88f95b237198d9b90e52b5">TOSCL_StringOp</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOSCL__HeapString.html#ad0575f91363215a7d26af1353af2b77c">optype</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classOSCL__wString.html#a9bb4700674b347022ae5d1757e64c450">OSCL_wString::chartype</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOSCL__HeapString.html#aa8f526c6bc237e30c6d72e720be367da">other_chartype</a></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga86be0a91a49424fa702b92702f63574d">OSCL_HeapString</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#gac80ee61677ee97311e77dccd1b7bc616">OSCL_HeapString</a> (const <a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a> &amp;src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#gaaecd39bc5423d89e189c092ccd629b21">OSCL_HeapString</a> (const <a class="el" href="classOSCL__String.html">OSCL_String</a> &amp;src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#gaa30d5b83afcc3e1df89ba7f53fb80b54">OSCL_HeapString</a> (const <a class="el" href="classOSCL__HeapString.html#a89f48c86b20849dbe19d2223269aac1f">chartype</a> *cstr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga259d911cc50c08016be37bc86b1fe7ff">OSCL_HeapString</a> (const <a class="el" href="classOSCL__HeapString.html#a89f48c86b20849dbe19d2223269aac1f">chartype</a> *buf, uint32 length)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga60ce805fe094cb5e4e23a4b11787eb14">~OSCL_HeapString</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga0116709dfbf289ce8eed3ae87bf75919">get_size</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#gaaf4bb112292756b21f5bbbc8268fafca">get_maxsize</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classOSCL__HeapString.html#a89f48c86b20849dbe19d2223269aac1f">chartype</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#gab4a5b474f4c9cce5ad6f109c8332ad2c">get_cstr</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOSCL__HeapString.html#a89f48c86b20849dbe19d2223269aac1f">chartype</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#gac30fee4fa83179d0462e1f46ee30cc83">get_str</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga439ee984746295c1d32709f06a304595">operator=</a> (const <a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a> &amp;src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga63a13bba4b676aff57a1b30ffc4a0576">operator=</a> (const <a class="el" href="classOSCL__String.html">OSCL_String</a> &amp;src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga53ea73a499c282862a72cc5e8fc53ba5">operator=</a> (const <a class="el" href="classOSCL__HeapString.html#a89f48c86b20849dbe19d2223269aac1f">chartype</a> *cstr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#gadf44f434dea8dca7e98c19759efe9f9f">set</a> (const <a class="el" href="classOSCL__HeapString.html#a89f48c86b20849dbe19d2223269aac1f">chartype</a> *buf, uint32 length)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga9361e02bfcb3a7474d8ab52a2c931b1c">set</a> (const <a class="el" href="classOSCL__HeapString.html#aa8f526c6bc237e30c6d72e720be367da">other_chartype</a> *buf, <a class="el" href="group__osclutil.html#gaf6a637a78b88f95b237198d9b90e52b5">optype</a> op)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__osclutil.html#ga4ed958310b0e44975c8e48f6290e23fd">set</a> (const <a class="el" href="classOSCL__HeapString.html#aa8f526c6bc237e30c6d72e720be367da">other_chartype</a> *buf, uint32 length, <a class="el" href="group__osclutil.html#gaf6a637a78b88f95b237198d9b90e52b5">optype</a> op)</td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classOSCL__HeapString.html#aa839ab3a00a9cad517aeaa26b6c1b85b">OSCL_String</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class Alloc&gt;<br/>
 class OSCL_HeapString&lt; Alloc &gt;</h3>

<p><a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a> is a simple string class, compatible with regular character array strings.</p>
<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>
<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>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Alloc,:</em>&nbsp;</td><td>memory allocator, derived from <a class="el" href="classOscl__DefAlloc.html">Oscl_DefAlloc</a>. </td></tr>
  </table>
  </dd>
</dl>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a89f48c86b20849dbe19d2223269aac1f"></a><!-- doxytag: member="OSCL_HeapString::chartype" ref="a89f48c86b20849dbe19d2223269aac1f" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Alloc&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classOSCL__String.html#af7dea5502bbb5f76c4680a06e4d8f143">OSCL_String::chartype</a> <a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a>&lt; Alloc &gt;::<a class="el" href="classOSCL__HeapString.html#a89f48c86b20849dbe19d2223269aac1f">chartype</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="classOSCL__String.html#af7dea5502bbb5f76c4680a06e4d8f143">OSCL_String</a>.</p>

</div>
</div>
<a class="anchor" id="ad0575f91363215a7d26af1353af2b77c"></a><!-- doxytag: member="OSCL_HeapString::optype" ref="ad0575f91363215a7d26af1353af2b77c" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Alloc&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="group__osclutil.html#gaf6a637a78b88f95b237198d9b90e52b5">TOSCL_StringOp</a> <a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a>&lt; Alloc &gt;::<a class="el" href="group__osclutil.html#gaf6a637a78b88f95b237198d9b90e52b5">optype</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa8f526c6bc237e30c6d72e720be367da"></a><!-- doxytag: member="OSCL_HeapString::other_chartype" ref="aa8f526c6bc237e30c6d72e720be367da" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Alloc&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classOSCL__wString.html#a9bb4700674b347022ae5d1757e64c450">OSCL_wString::chartype</a> <a class="el" href="classOSCL__HeapString.html">OSCL_HeapString</a>&lt; Alloc &gt;::<a class="el" href="classOSCL__HeapString.html#aa8f526c6bc237e30c6d72e720be367da">other_chartype</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="aa839ab3a00a9cad517aeaa26b6c1b85b"></a><!-- doxytag: member="OSCL_HeapString::OSCL_String" ref="aa839ab3a00a9cad517aeaa26b6c1b85b" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Alloc&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classOSCL__String.html">OSCL_String</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<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></li>
</ul>
</div>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: CORE_9.005.1.1 </small>
</small></address>
</body>
</html>