• 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_string.h Source File</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_string.h</h1><a href="oscl__string_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">// -*- c++ -*-</span>
1000002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
1100003
1200004 <span class="comment">//                               O S C L_ S T R I N G   C L A S S</span>
1300005
1400006 <span class="comment">//        This file contains a standardized set of string containers that</span>
1500007 <span class="comment">//        can be used in place of character arrays.</span>
1600008
1700009 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
1800010
1900025 <span class="preprocessor">#ifndef OSCL_STRING_H_INCLUDED</span>
2000026 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_STRING_H_INCLUDED</span>
2100027 <span class="preprocessor"></span>
2200028
2300029 <span class="preprocessor">#ifndef OSCL_BASE_H_INCLUDED</span>
2400030 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="oscl__base_8h.html">oscl_base.h</a>"</span>
2500031 <span class="preprocessor">#endif</span>
2600032 <span class="preprocessor"></span>
2700033 <span class="preprocessor">#ifndef OSCL_MEM_H_INCLUDED</span>
2800034 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="oscl__mem_8h.html">oscl_mem.h</a>"</span>
2900035 <span class="preprocessor">#endif</span>
3000036 <span class="preprocessor"></span>
31<a name="l00041"></a><a class="code" href="classOSCL__String.html">00041</a> <span class="keyword">class </span><a class="code" href="classOSCL__String.html">OSCL_String</a> : <span class="keyword">public</span> <a class="code" href="classHeapBase.html">HeapBase</a>
3200042
3300043 {
3400044     <span class="keyword">public</span>:
35<a name="l00045"></a><a class="code" href="classOSCL__String.html#s0">00045</a>         <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>;
3600046
3700051         <span class="keyword">virtual</span> uint32 <a class="code" href="classOSCL__String.html#a0">get_size</a>() <span class="keyword">const</span> = 0;
3800052
3900058         <span class="keyword">virtual</span> uint32 <a class="code" href="classOSCL__String.html#a1">get_maxsize</a>() <span class="keyword">const</span> = 0;
4000059
4100063         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>* <a class="code" href="classOSCL__String.html#a2">get_cstr</a>() <span class="keyword">const</span> = 0;
4200064
4300068         OSCL_IMPORT_REF <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classOSCL__String.html#a3">is_writable</a>() <span class="keyword">const</span>;
4400069
4500074         <span class="keyword">virtual</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>* <a class="code" href="classOSCL__String.html#a4">get_str</a>() <span class="keyword">const</span> = 0;
4600075
4700078         OSCL_IMPORT_REF <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; <a class="code" href="classOSCL__String.html#a5">operator=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src);
4800079
4900083         OSCL_IMPORT_REF <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; <a class="code" href="classOSCL__String.html#a5">operator=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>* cstr);
5000084
5100089         OSCL_IMPORT_REF <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; <a class="code" href="classOSCL__String.html#a7">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src);
5200090
5300096         OSCL_IMPORT_REF <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; <a class="code" href="classOSCL__String.html#a7">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>* cstr);
5400097
5500102         OSCL_IMPORT_REF <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; <a class="code" href="classOSCL__String.html#a7">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html#s0">chartype</a> c);
5600103
5700106         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__String.html#a10">operator== </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src) <span class="keyword">const</span>;
5800107         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__String.html#a11">operator!= </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src) <span class="keyword">const</span>;
5900108         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__String.html#a12">operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src) <span class="keyword">const</span>;
6000109         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__String.html#a13">operator&lt;= </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src) <span class="keyword">const</span>;
6100110         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__String.html#a14">operator&gt; </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src) <span class="keyword">const</span>;
6200111         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__String.html#a15">operator&gt;= </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src) <span class="keyword">const</span>;
6300112
6400116         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__String.html#a10">operator== </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>* cstr) <span class="keyword">const</span>;
6500117
6600124         OSCL_IMPORT_REF <a class="code" href="classOSCL__String.html#s0">chartype</a> <a class="code" href="classOSCL__String.html#a17">operator[]</a>(uint32 index) <span class="keyword">const</span>;
6700125
6800131         OSCL_IMPORT_REF <span class="keyword">virtual</span> <a class="code" href="classOSCL__String.html#s0">chartype</a> <a class="code" href="classOSCL__String.html#a18">read</a>(uint32 index)<span class="keyword">const</span>;
6900132
7000137         OSCL_IMPORT_REF <span class="keyword">virtual</span> int8 <a class="code" href="classOSCL__String.html#a19">hash</a>() <span class="keyword">const</span>;
7100138
7200145         OSCL_IMPORT_REF <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__String.html#a20">write</a>(uint32 index,<a class="code" href="classOSCL__String.html#s0">chartype</a> c);
7300146
7400156         OSCL_IMPORT_REF <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__String.html#a20">write</a>(uint32 offset, uint32 length, <span class="keyword">const</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>* buf);
7500157
7600158 <span class="preprocessor">#ifdef T_ARM</span>
7700159 <span class="preprocessor"></span><span class="comment">//ADS 1.2 compiler doesn't interpret "protected" correctly for templates.</span>
7800160 <span class="comment">//so the constructor/destructor need to be public.</span>
7900161     <span class="keyword">public</span>:
8000162 <span class="preprocessor">#else</span>
8100163 <span class="preprocessor"></span>    <span class="keyword">protected</span>:
8200164 <span class="preprocessor">#endif</span>
8300165 <span class="preprocessor"></span>        OSCL_IMPORT_REF <a class="code" href="classOSCL__String.html#b0">OSCL_String</a>();
8400166         OSCL_IMPORT_REF <span class="keyword">virtual</span> <a class="code" href="classOSCL__String.html#b1">~OSCL_String</a>();
8500167
8600168     <span class="keyword">protected</span>:
8700175         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__String.html#b2">set_rep</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>* cstr) = 0;
8800176
8900181         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__String.html#b3">append_rep</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html#s0">chartype</a>* cstr) = 0;
9000182
9100185         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__String.html#b2">set_rep</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src) = 0;
9200186
9300190         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__String.html#b3">append_rep</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__String.html">OSCL_String</a>&amp; src) = 0;
9400191
9500195         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__String.html#b6">set_len</a>(uint32 len) = 0;
9600196 };
9700197
98<a name="l00205"></a><a class="code" href="classOSCL__wString.html">00205</a> <span class="keyword">class </span><a class="code" href="classOSCL__wString.html">OSCL_wString</a>
9900206 {
10000207     <span class="keyword">public</span>:
101<a name="l00208"></a><a class="code" href="classOSCL__wString.html#s0">00208</a>         <span class="keyword">typedef</span> <a class="code" href="group__osclbase.html#a32">oscl_wchar</a> <a class="code" href="classOSCL__wString.html#s0">chartype</a>;
10200209
10300210         <span class="keyword">virtual</span> uint32 <a class="code" href="classOSCL__wString.html#a0">get_size</a>() <span class="keyword">const</span> = 0;
10400211
10500212         <span class="keyword">virtual</span> uint32 <a class="code" href="classOSCL__wString.html#a1">get_maxsize</a>() <span class="keyword">const</span> = 0;
10600213
10700214         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a>* <a class="code" href="classOSCL__wString.html#a2">get_cstr</a>() <span class="keyword">const</span> = 0;
10800215
10900216         OSCL_IMPORT_REF <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classOSCL__wString.html#a3">is_writable</a>() <span class="keyword">const</span>;
11000217
11100218         <span class="keyword">virtual</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a>* <a class="code" href="classOSCL__wString.html#a4">get_str</a>() <span class="keyword">const</span> = 0;
11200219
11300220         OSCL_IMPORT_REF <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; <a class="code" href="classOSCL__wString.html#a5">operator=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src);
11400221         OSCL_IMPORT_REF <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; <a class="code" href="classOSCL__wString.html#a5">operator=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a>* cstr);
11500222
11600223         OSCL_IMPORT_REF <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; <a class="code" href="classOSCL__wString.html#a7">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src);
11700224         OSCL_IMPORT_REF <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; <a class="code" href="classOSCL__wString.html#a7">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a>* cstr);
11800225         OSCL_IMPORT_REF <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; <a class="code" href="classOSCL__wString.html#a7">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a> c);
11900226
12000227         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__wString.html#a10">operator== </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src) <span class="keyword">const</span>;
12100228         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__wString.html#a11">operator!= </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src) <span class="keyword">const</span>;
12200229         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__wString.html#a12">operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src) <span class="keyword">const</span>;
12300230         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__wString.html#a13">operator&lt;= </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src) <span class="keyword">const</span>;
12400231         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__wString.html#a14">operator&gt; </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src) <span class="keyword">const</span>;
12500232         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__wString.html#a15">operator&gt;= </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src) <span class="keyword">const</span>;
12600233         OSCL_IMPORT_REF <span class="keywordtype">bool</span> <a class="code" href="classOSCL__wString.html#a10">operator== </a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a>* cstr) <span class="keyword">const</span>;
12700234
12800235         OSCL_IMPORT_REF <a class="code" href="classOSCL__wString.html#s0">chartype</a> <a class="code" href="classOSCL__wString.html#a17">operator[]</a>(uint32 index) <span class="keyword">const</span>;
12900236
13000237         OSCL_IMPORT_REF <span class="keyword">virtual</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a> <a class="code" href="classOSCL__wString.html#a18">read</a>(uint32 index)<span class="keyword">const</span>;
13100238
13200239         OSCL_IMPORT_REF <span class="keyword">virtual</span> int8 <a class="code" href="classOSCL__wString.html#a19">hash</a>() <span class="keyword">const</span>;
13300240
13400241         OSCL_IMPORT_REF <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__wString.html#a20">write</a>(uint32 index,<a class="code" href="classOSCL__wString.html#s0">chartype</a> c);
13500242         OSCL_IMPORT_REF <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__wString.html#a20">write</a>(uint32 offset, uint32 length, <span class="keyword">const</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a>* buf);
13600243
13700244 <span class="preprocessor">#ifdef T_ARM</span>
13800245 <span class="preprocessor"></span><span class="comment">//ADS 1.2 compiler doesn't interpret "protected" correctly for templates.</span>
13900246 <span class="comment">//so the constructor/destructor need to be public.</span>
14000247     <span class="keyword">public</span>:
14100248 <span class="preprocessor">#else</span>
14200249 <span class="preprocessor"></span>    <span class="keyword">protected</span>:
14300250 <span class="preprocessor">#endif</span>
14400251 <span class="preprocessor"></span>        OSCL_IMPORT_REF <a class="code" href="classOSCL__wString.html#b0">OSCL_wString</a>();
14500252         OSCL_IMPORT_REF <span class="keyword">virtual</span> <a class="code" href="classOSCL__wString.html#b1">~OSCL_wString</a>();
14600253
14700254     <span class="keyword">protected</span>:
14800255         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__wString.html#b2">set_rep</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a>* cstr) = 0;
14900256         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__wString.html#b3">append_rep</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html#s0">chartype</a>* cstr) = 0;
15000257
15100258         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__wString.html#b2">set_rep</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src) = 0;
15200259         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__wString.html#b3">append_rep</a>(<span class="keyword">const</span> <a class="code" href="classOSCL__wString.html">OSCL_wString</a>&amp; src) = 0;
15300260
15400261         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classOSCL__wString.html#b6">set_len</a>(uint32 len) = 0;
15500262 };
15600263
15700264 <span class="preprocessor">#endif   // OSCL_STRING_H_INCLUDED</span>
15800265 <span class="preprocessor"></span>
159</pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
160<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
161</small></address>
162</body>
163</html>
164