| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> |
| <title>oscl_str_ptr_len.h Source File</title> |
| <link href="doxygen.css" rel="stylesheet" type="text/css"> |
| </head><body> |
| <!-- Generated by Doxygen 1.2.18 --> |
| <center> |
| <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> |
| <hr><h1>oscl_str_ptr_len.h</h1><a href="oscl__str__ptr__len_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">// -*- c++ -*-</span> |
| 00002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span> |
| 00003 |
| 00004 <span class="comment">// O S C L _ S T R _ P T R _ L E N</span> |
| 00005 |
| 00006 <span class="comment">// This file contains C-based data structure definitions for string</span> |
| 00007 <span class="comment">// manipulations.</span> |
| 00008 |
| 00009 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span> |
| 00010 |
| 00022 <span class="preprocessor">#ifndef OSCL_STR_PTR_LEN_H_INCLUDED</span> |
| 00023 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_STR_PTR_LEN_H_INCLUDED</span> |
| 00024 <span class="preprocessor"></span> |
| 00025 <span class="comment">// - - Inclusion - - - - - - - - - - - - - - - - - - - - - - - - - - - -</span> |
| 00026 <span class="preprocessor">#ifndef OSCL_BASE_H_INCLUDED</span> |
| 00027 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="oscl__base_8h.html">oscl_base.h</a>"</span> |
| 00028 <span class="preprocessor">#endif</span> |
| 00029 <span class="preprocessor"></span> |
| 00030 <span class="preprocessor">#ifndef OSCL_STDSTRING_H_INCLUDED</span> |
| 00031 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="oscl__stdstring_8h.html">oscl_stdstring.h</a>"</span> |
| 00032 <span class="preprocessor">#endif</span> |
| 00033 <span class="preprocessor"></span> |
| 00034 <span class="comment">//#ifndef OSCL_TYPES_H_INCLUDED</span> |
| 00035 <span class="comment">//#include "oscl_types.h"</span> |
| 00036 <span class="comment">//#endif</span> |
| 00037 |
| 00038 <span class="comment">// - - Definitions - - - - - - - - - - - - - - - - - - - - - - - - - - -</span> |
| 00039 |
| 00040 <span class="comment">// this is the XOR difference between any two ascii letters, 32</span> |
| <a name="l00041"></a><a class="code" href="group__osclutil.html#a4">00041</a> <span class="keyword">const</span> uint8 <a class="code" href="group__osclutil.html#a4">OSCL_ASCII_CASE_MAGIC_BIT</a> = 0x20; |
| 00042 |
| 00044 |
| <a name="l00047"></a><a class="code" href="structStrPtrLen.html">00047</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structStrPtrLen.html">StrPtrLen</a> |
| 00048 { |
| 00049 <span class="keyword">protected</span>: |
| <a name="l00050"></a><a class="code" href="structStrPtrLen.html#n0">00050</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structStrPtrLen.html#n0">ptr</a>; |
| <a name="l00051"></a><a class="code" href="structStrPtrLen.html#n1">00051</a> int32 <a class="code" href="structStrPtrLen.html#n1">len</a>; |
| 00052 |
| <a name="l00053"></a><a class="code" href="structStrPtrLen.html#b0">00053</a> <span class="keywordtype">bool</span> <a class="code" href="structStrPtrLen.html#b0">isLetter</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> c)<span class="keyword"> const</span> |
| 00054 <span class="keyword"> </span>{ |
| 00055 <span class="keywordflow">return</span> ((c >= 65 && c <= 90) || (c >= 97 && c <= 122)); |
| 00056 } |
| 00057 |
| 00058 <span class="keyword">public</span>: |
| 00059 |
| <a name="l00060"></a><a class="code" href="structStrPtrLen.html#a0">00060</a> <a class="code" href="structStrPtrLen.html#a2">StrPtrLen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* newPtr) |
| 00061 : <a class="code" href="structStrPtrLen.html#n0">ptr</a>(newPtr) |
| 00062 { |
| 00063 <a class="code" href="structStrPtrLen.html#n1">len</a> = <a class="code" href="group__osclbase.html#a43">oscl_strlen</a>(newPtr); |
| 00064 } |
| 00065 |
| <a name="l00066"></a><a class="code" href="structStrPtrLen.html#a1">00066</a> <a class="code" href="structStrPtrLen.html#a2">StrPtrLen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* newPtr, uint32 newLen) |
| 00067 : <a class="code" href="structStrPtrLen.html#n0">ptr</a>(newPtr), <a class="code" href="structStrPtrLen.html#n1">len</a>(newLen) |
| 00068 {} |
| 00069 |
| <a name="l00070"></a><a class="code" href="structStrPtrLen.html#a2">00070</a> <a class="code" href="structStrPtrLen.html#a2">StrPtrLen</a>() |
| 00071 : <a class="code" href="structStrPtrLen.html#n0">ptr</a>(""), <a class="code" href="structStrPtrLen.html#n1">len</a>(0) |
| 00072 {} |
| 00073 |
| <a name="l00074"></a><a class="code" href="structStrPtrLen.html#a3">00074</a> <a class="code" href="structStrPtrLen.html#a2">StrPtrLen</a>(<span class="keyword">const</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a>& rhs) |
| 00075 : <a class="code" href="structStrPtrLen.html#n0">ptr</a>(rhs.<a class="code" href="structStrPtrLen.html#n0">ptr</a>), <a class="code" href="structStrPtrLen.html#n1">len</a>(rhs.<a class="code" href="structStrPtrLen.html#n1">len</a>) |
| 00076 {} |
| 00077 |
| <a name="l00078"></a><a class="code" href="structStrPtrLen.html#a4">00078</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structStrPtrLen.html#a4">c_str</a>()<span class="keyword"> const</span> |
| 00079 <span class="keyword"> </span>{ |
| 00080 <span class="keywordflow">return</span> <a class="code" href="structStrPtrLen.html#n0">ptr</a>; |
| 00081 } |
| 00082 |
| <a name="l00083"></a><a class="code" href="structStrPtrLen.html#a5">00083</a> int32 <a class="code" href="structStrPtrLen.html#a5">length</a>()<span class="keyword"> const</span> |
| 00084 <span class="keyword"> </span>{ |
| 00085 <span class="keywordflow">return</span> <a class="code" href="structStrPtrLen.html#n1">len</a>; |
| 00086 } |
| 00087 |
| <a name="l00088"></a><a class="code" href="structStrPtrLen.html#a6">00088</a> int32 <a class="code" href="structStrPtrLen.html#a6">size</a>()<span class="keyword"> const</span> |
| 00089 <span class="keyword"> </span>{ |
| 00090 <span class="keywordflow">return</span> <a class="code" href="structStrPtrLen.html#n1">len</a>; |
| 00091 } |
| 00092 |
| <a name="l00093"></a><a class="code" href="structStrPtrLen.html#a7">00093</a> <span class="keywordtype">void</span> <a class="code" href="structStrPtrLen.html#a7">setPtrLen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* newPtr, uint32 newLen) |
| 00094 { |
| 00095 <a class="code" href="structStrPtrLen.html#n0">ptr</a> = newPtr; |
| 00096 <a class="code" href="structStrPtrLen.html#n1">len</a> = newLen; |
| 00097 } |
| 00098 |
| <a name="l00099"></a><a class="code" href="structStrPtrLen.html#a8">00099</a> <a class="code" href="group__osclbase.html#a24">c_bool</a> <a class="code" href="structStrPtrLen.html#a8">isCIEquivalentTo</a>(<span class="keyword">const</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00100 <span class="keyword"> </span>{ |
| 00101 <span class="keywordflow">if</span> (<a class="code" href="structStrPtrLen.html#n1">len</a> != rhs.<a class="code" href="structStrPtrLen.html#n1">len</a>) |
| 00102 { |
| 00103 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00104 } |
| 00105 <span class="comment">// since they are the same length just check for the prefix condition</span> |
| 00106 <span class="keywordflow">return</span> <a class="code" href="structStrPtrLen.html#a9">isCIPrefixOf</a>(rhs); |
| 00107 } |
| 00108 |
| <a name="l00109"></a><a class="code" href="structStrPtrLen.html#a9">00109</a> <a class="code" href="group__osclbase.html#a24">c_bool</a> <a class="code" href="structStrPtrLen.html#a9">isCIPrefixOf</a>(<span class="keyword">const</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00110 <span class="keyword"> </span>{ |
| 00111 <span class="keywordflow">if</span> (<a class="code" href="structStrPtrLen.html#n1">len</a> > rhs.<a class="code" href="structStrPtrLen.html#n1">len</a>) |
| 00112 { |
| 00113 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00114 } |
| 00115 |
| 00116 <span class="keywordflow">for</span> (int32 ii = 0; ii < <a class="code" href="structStrPtrLen.html#n1">len</a>; ++ii) |
| 00117 { |
| 00118 <span class="keywordflow">if</span> (<a class="code" href="structStrPtrLen.html#n0">ptr</a>[ii] != rhs.<a class="code" href="structStrPtrLen.html#n0">ptr</a>[ii]) |
| 00119 { |
| 00120 <span class="keywordflow">if</span> (!<a class="code" href="structStrPtrLen.html#b0">isLetter</a>(<a class="code" href="structStrPtrLen.html#n0">ptr</a>[ii]) || |
| 00121 (<a class="code" href="group__osclutil.html#a4">OSCL_ASCII_CASE_MAGIC_BIT</a> != ((<a class="code" href="structStrPtrLen.html#n0">ptr</a>[ii] ^ rhs.<a class="code" href="structStrPtrLen.html#n0">ptr</a>[ii]) | <a class="code" href="group__osclutil.html#a4">OSCL_ASCII_CASE_MAGIC_BIT</a>))) |
| 00122 { |
| 00123 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00124 } |
| 00125 } |
| 00126 } |
| 00127 <span class="keywordflow">return</span> <span class="keyword">true</span>; |
| 00128 } |
| 00129 |
| <a name="l00130"></a><a class="code" href="structStrPtrLen.html#a10">00130</a> int32 <a class="code" href="structStrPtrLen.html#a10">operator==</a>(<span class="keyword">const</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00131 <span class="keyword"> </span>{ |
| 00132 <span class="keywordflow">if</span> (<a class="code" href="structStrPtrLen.html#n1">len</a> != rhs.<a class="code" href="structStrPtrLen.html#n1">len</a>) |
| 00133 { |
| 00134 <span class="comment">//return (!(len-rhs.len));</span> |
| 00135 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00136 } |
| 00137 |
| 00138 <span class="keywordflow">return</span>(!<a class="code" href="group__osclbase.html#a49">oscl_strncmp</a>(<a class="code" href="structStrPtrLen.html#n0">ptr</a>, rhs.<a class="code" href="structStrPtrLen.html#n0">ptr</a>, rhs.<a class="code" href="structStrPtrLen.html#n1">len</a>)); |
| 00139 } |
| 00140 |
| <a name="l00141"></a><a class="code" href="structStrPtrLen.html#a11">00141</a> int32 <a class="code" href="structStrPtrLen.html#a11">operator!=</a>(<span class="keyword">const</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00142 <span class="keyword"> </span>{ |
| 00143 <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs); |
| 00144 } |
| 00145 |
| <a name="l00146"></a><a class="code" href="structStrPtrLen.html#a12">00146</a> <a class="code" href="structStrPtrLen.html">StrPtrLen</a> &<a class="code" href="structStrPtrLen.html#a12">operator=</a>(<span class="keyword">const</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a>& rhs) |
| 00147 { |
| 00148 this-><a class="code" href="structStrPtrLen.html#n0">ptr</a> = rhs.<a class="code" href="structStrPtrLen.html#n0">ptr</a>; |
| 00149 this-><a class="code" href="structStrPtrLen.html#n1">len</a> = rhs.<a class="code" href="structStrPtrLen.html#n1">len</a>; |
| 00150 <span class="keywordflow">return</span> *<span class="keyword">this</span>; |
| 00151 } |
| 00152 |
| <a name="l00153"></a><a class="code" href="structStrPtrLen.html#a13">00153</a> <a class="code" href="structStrPtrLen.html">StrPtrLen</a> &<a class="code" href="structStrPtrLen.html#a12">operator=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) |
| 00154 { |
| 00155 this-><a class="code" href="structStrPtrLen.html#n0">ptr</a> = rhs; |
| 00156 this-><a class="code" href="structStrPtrLen.html#n1">len</a> = <a class="code" href="group__osclbase.html#a43">oscl_strlen</a>(rhs); |
| 00157 <span class="keywordflow">return</span> *<span class="keyword">this</span>; |
| 00158 } |
| 00159 |
| 00160 } <a class="code" href="structStrPtrLen.html">StrPtrLen</a>; |
| 00161 |
| 00163 |
| <a name="l00166"></a><a class="code" href="structWStrPtrLen.html">00166</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structWStrPtrLen.html">WStrPtrLen</a> |
| 00167 { |
| 00168 <span class="keyword">protected</span>: |
| <a name="l00169"></a><a class="code" href="structWStrPtrLen.html#n0">00169</a> <span class="keyword">const</span> <a class="code" href="group__osclbase.html#a32">oscl_wchar</a>* <a class="code" href="structWStrPtrLen.html#n0">ptr</a>; |
| <a name="l00170"></a><a class="code" href="structWStrPtrLen.html#n1">00170</a> int32 <a class="code" href="structWStrPtrLen.html#n1">len</a>; |
| 00171 |
| 00172 <span class="keyword">public</span>: |
| 00173 |
| <a name="l00174"></a><a class="code" href="structWStrPtrLen.html#a0">00174</a> <a class="code" href="structWStrPtrLen.html#a2">WStrPtrLen</a>(<span class="keyword">const</span> <a class="code" href="group__osclbase.html#a32">oscl_wchar</a>* newPtr) |
| 00175 : <a class="code" href="structWStrPtrLen.html#n0">ptr</a>(newPtr) |
| 00176 { |
| 00177 <a class="code" href="structWStrPtrLen.html#n1">len</a> = <a class="code" href="group__osclbase.html#a43">oscl_strlen</a>(newPtr); |
| 00178 } |
| 00179 |
| <a name="l00180"></a><a class="code" href="structWStrPtrLen.html#a1">00180</a> <a class="code" href="structWStrPtrLen.html#a2">WStrPtrLen</a>(<span class="keyword">const</span> <a class="code" href="group__osclbase.html#a32">oscl_wchar</a>* newPtr, uint32 newLen) |
| 00181 : <a class="code" href="structWStrPtrLen.html#n0">ptr</a>(newPtr), <a class="code" href="structWStrPtrLen.html#n1">len</a>(newLen) |
| 00182 {} |
| 00183 |
| <a name="l00184"></a><a class="code" href="structWStrPtrLen.html#a2">00184</a> <a class="code" href="structWStrPtrLen.html#a2">WStrPtrLen</a>() |
| 00185 : <a class="code" href="structWStrPtrLen.html#n0">ptr</a>(<a class="code" href="group__osclbase.html#a81">NULL</a>), <a class="code" href="structWStrPtrLen.html#n1">len</a>(0) |
| 00186 {} |
| 00187 |
| <a name="l00188"></a><a class="code" href="structWStrPtrLen.html#a3">00188</a> <a class="code" href="structWStrPtrLen.html#a2">WStrPtrLen</a>(<span class="keyword">const</span> <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a>& rhs) |
| 00189 : <a class="code" href="structWStrPtrLen.html#n0">ptr</a>(rhs.<a class="code" href="structWStrPtrLen.html#n0">ptr</a>), <a class="code" href="structWStrPtrLen.html#n1">len</a>(rhs.<a class="code" href="structWStrPtrLen.html#n1">len</a>) |
| 00190 {} |
| 00191 |
| <a name="l00192"></a><a class="code" href="structWStrPtrLen.html#a4">00192</a> <span class="keyword">const</span> <a class="code" href="group__osclbase.html#a32">oscl_wchar</a>* <a class="code" href="structWStrPtrLen.html#a4">c_str</a>()<span class="keyword"> const</span> |
| 00193 <span class="keyword"> </span>{ |
| 00194 <span class="keywordflow">return</span> <a class="code" href="structWStrPtrLen.html#n0">ptr</a>; |
| 00195 } |
| 00196 |
| <a name="l00197"></a><a class="code" href="structWStrPtrLen.html#a5">00197</a> int32 <a class="code" href="structWStrPtrLen.html#a5">length</a>()<span class="keyword"> const</span> |
| 00198 <span class="keyword"> </span>{ |
| 00199 <span class="keywordflow">return</span> <a class="code" href="structWStrPtrLen.html#n1">len</a>; |
| 00200 } |
| 00201 |
| <a name="l00202"></a><a class="code" href="structWStrPtrLen.html#a6">00202</a> int32 <a class="code" href="structWStrPtrLen.html#a6">size</a>()<span class="keyword"> const</span> |
| 00203 <span class="keyword"> </span>{ |
| 00204 <span class="keywordflow">return</span> <a class="code" href="structWStrPtrLen.html#n1">len</a>; |
| 00205 } |
| 00206 |
| <a name="l00207"></a><a class="code" href="structWStrPtrLen.html#a7">00207</a> <span class="keywordtype">void</span> <a class="code" href="structWStrPtrLen.html#a7">setPtrLen</a>(<span class="keyword">const</span> <a class="code" href="group__osclbase.html#a32">oscl_wchar</a>* newPtr, uint32 newLen) |
| 00208 { |
| 00209 <a class="code" href="structWStrPtrLen.html#n0">ptr</a> = newPtr; |
| 00210 <a class="code" href="structWStrPtrLen.html#n1">len</a> = newLen; |
| 00211 } |
| 00212 |
| <a name="l00213"></a><a class="code" href="structWStrPtrLen.html#a8">00213</a> <a class="code" href="group__osclbase.html#a24">c_bool</a> <a class="code" href="structWStrPtrLen.html#a8">isCIEquivalentTo</a>(<span class="keyword">const</span> <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00214 <span class="keyword"> </span>{ |
| 00215 <span class="keywordflow">if</span> (<a class="code" href="structWStrPtrLen.html#n1">len</a> != rhs.<a class="code" href="structWStrPtrLen.html#n1">len</a>) |
| 00216 { |
| 00217 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00218 } |
| 00219 |
| 00220 <span class="keywordflow">for</span> (int32 ii = 0; ii < <a class="code" href="structWStrPtrLen.html#n1">len</a>; ++ii) |
| 00221 { |
| 00222 <span class="keywordflow">if</span> (<a class="code" href="group__osclutil.html#a4">OSCL_ASCII_CASE_MAGIC_BIT</a> != ((<a class="code" href="structWStrPtrLen.html#n0">ptr</a>[ii] ^ rhs.<a class="code" href="structWStrPtrLen.html#n0">ptr</a>[ii]) | <a class="code" href="group__osclutil.html#a4">OSCL_ASCII_CASE_MAGIC_BIT</a>)) |
| 00223 { |
| 00224 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00225 } |
| 00226 } |
| 00227 |
| 00228 <span class="keywordflow">return</span> <span class="keyword">true</span>; |
| 00229 } |
| 00230 |
| <a name="l00231"></a><a class="code" href="structWStrPtrLen.html#a9">00231</a> int32 <a class="code" href="structWStrPtrLen.html#a9">operator==</a>(<span class="keyword">const</span> <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00232 <span class="keyword"> </span>{ |
| 00233 <span class="keywordflow">if</span> (<a class="code" href="structWStrPtrLen.html#n1">len</a> != rhs.<a class="code" href="structWStrPtrLen.html#n1">len</a>) |
| 00234 { |
| 00235 <span class="keywordflow">return</span> (<a class="code" href="structWStrPtrLen.html#n1">len</a> -rhs.<a class="code" href="structWStrPtrLen.html#n1">len</a>); |
| 00236 } |
| 00237 <span class="keywordflow">return</span>(!<a class="code" href="group__osclbase.html#a49">oscl_strncmp</a>(<a class="code" href="structWStrPtrLen.html#n0">ptr</a>, rhs.<a class="code" href="structWStrPtrLen.html#n0">ptr</a>, rhs.<a class="code" href="structWStrPtrLen.html#n1">len</a>)); |
| 00238 } |
| 00239 |
| <a name="l00240"></a><a class="code" href="structWStrPtrLen.html#a10">00240</a> int32 <a class="code" href="structWStrPtrLen.html#a10">operator!=</a>(<span class="keyword">const</span> <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00241 <span class="keyword"> </span>{ |
| 00242 <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs); |
| 00243 } |
| 00244 |
| <a name="l00245"></a><a class="code" href="structWStrPtrLen.html#a11">00245</a> <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a>& <a class="code" href="structWStrPtrLen.html#a11">operator=</a>(<span class="keyword">const</span> <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a>& rhs) |
| 00246 { |
| 00247 this-><a class="code" href="structWStrPtrLen.html#n0">ptr</a> = rhs.<a class="code" href="structWStrPtrLen.html#n0">ptr</a>; |
| 00248 this-><a class="code" href="structWStrPtrLen.html#n1">len</a> = rhs.<a class="code" href="structWStrPtrLen.html#n1">len</a>; |
| 00249 <span class="keywordflow">return</span> *<span class="keyword">this</span>; |
| 00250 } |
| 00251 |
| <a name="l00252"></a><a class="code" href="structWStrPtrLen.html#a12">00252</a> <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a>& <a class="code" href="structWStrPtrLen.html#a11">operator=</a>(<span class="keyword">const</span> <a class="code" href="group__osclbase.html#a32">oscl_wchar</a>* rhs) |
| 00253 { |
| 00254 this-><a class="code" href="structWStrPtrLen.html#n0">ptr</a> = rhs; |
| 00255 this-><a class="code" href="structWStrPtrLen.html#n1">len</a> = <a class="code" href="group__osclbase.html#a43">oscl_strlen</a>(rhs); |
| 00256 <span class="keywordflow">return</span> *<span class="keyword">this</span>; |
| 00257 } |
| 00258 |
| 00259 } <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a>; |
| 00260 |
| <a name="l00262"></a><a class="code" href="structStrCSumPtrLen.html">00262</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a> : <span class="keyword">public</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a> |
| 00263 { |
| 00264 <span class="keyword">public</span>: |
| <a name="l00265"></a><a class="code" href="structStrCSumPtrLen.html#s0">00265</a> <span class="keyword">typedef</span> int16 <a class="code" href="structStrCSumPtrLen.html#s0">CheckSumType</a>; |
| 00266 |
| 00267 <span class="keyword">protected</span>: |
| <a name="l00268"></a><a class="code" href="structStrCSumPtrLen.html#n0">00268</a> <a class="code" href="structStrCSumPtrLen.html#s0">CheckSumType</a> <a class="code" href="structStrCSumPtrLen.html#n0">checkSum</a>; |
| 00269 |
| 00270 <span class="keyword">public</span>: |
| 00271 |
| <a name="l00272"></a><a class="code" href="structStrCSumPtrLen.html#a0">00272</a> <span class="keywordtype">void</span> <a class="code" href="structStrCSumPtrLen.html#a0">setPtrLen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* newPtr, uint32 newLen) |
| 00273 { |
| 00274 <a class="code" href="structStrPtrLen.html#a7">StrPtrLen::setPtrLen</a>(newPtr, newLen); |
| 00275 <a class="code" href="structStrCSumPtrLen.html#a2">setCheckSum</a>(); |
| 00276 } |
| 00277 |
| <a name="l00278"></a><a class="code" href="structStrCSumPtrLen.html#a1">00278</a> <a class="code" href="structStrCSumPtrLen.html#s0">CheckSumType</a> <a class="code" href="structStrCSumPtrLen.html#a1">getCheckSum</a>()<span class="keyword"> const</span> |
| 00279 <span class="keyword"> </span>{ |
| 00280 <span class="keywordflow">return</span> <a class="code" href="structStrCSumPtrLen.html#n0">checkSum</a>; |
| 00281 } |
| 00282 |
| 00283 OSCL_IMPORT_REF <span class="keywordtype">void</span> <a class="code" href="structStrCSumPtrLen.html#a2">setCheckSum</a>(); |
| 00284 |
| <a name="l00285"></a><a class="code" href="structStrCSumPtrLen.html#a3">00285</a> <a class="code" href="structStrCSumPtrLen.html#a3">StrCSumPtrLen</a>() |
| 00286 : <a class="code" href="structStrCSumPtrLen.html#n0">checkSum</a>(0) |
| 00287 {} |
| 00288 |
| <a name="l00289"></a><a class="code" href="structStrCSumPtrLen.html#a4">00289</a> <a class="code" href="structStrCSumPtrLen.html#a3">StrCSumPtrLen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* newPtr) |
| 00290 : <a class="code" href="structStrPtrLen.html">StrPtrLen</a>(newPtr) |
| 00291 { |
| 00292 <a class="code" href="structStrCSumPtrLen.html#a2">setCheckSum</a>(); |
| 00293 } |
| 00294 |
| <a name="l00295"></a><a class="code" href="structStrCSumPtrLen.html#a5">00295</a> <a class="code" href="structStrCSumPtrLen.html#a3">StrCSumPtrLen</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* newPtr, uint32 newLen) |
| 00296 : <a class="code" href="structStrPtrLen.html">StrPtrLen</a>(newPtr, newLen) |
| 00297 { |
| 00298 <a class="code" href="structStrCSumPtrLen.html#a2">setCheckSum</a>(); |
| 00299 } |
| 00300 |
| <a name="l00301"></a><a class="code" href="structStrCSumPtrLen.html#a6">00301</a> <a class="code" href="structStrCSumPtrLen.html#a3">StrCSumPtrLen</a>(<span class="keyword">const</span> <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>& rhs) |
| 00302 : <a class="code" href="structStrPtrLen.html">StrPtrLen</a>(rhs), <a class="code" href="structStrCSumPtrLen.html#n0">checkSum</a>(rhs.<a class="code" href="structStrCSumPtrLen.html#n0">checkSum</a>) |
| 00303 {} |
| 00304 |
| <a name="l00305"></a><a class="code" href="structStrCSumPtrLen.html#a7">00305</a> <a class="code" href="structStrCSumPtrLen.html#a3">StrCSumPtrLen</a>(<span class="keyword">const</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a> & rhs) |
| 00306 : <a class="code" href="structStrPtrLen.html">StrPtrLen</a>(rhs) |
| 00307 { |
| 00308 <a class="code" href="structStrCSumPtrLen.html#a2">setCheckSum</a>(); |
| 00309 } |
| 00310 |
| 00311 |
| <a name="l00312"></a><a class="code" href="structStrCSumPtrLen.html#a8">00312</a> <a class="code" href="group__osclbase.html#a24">c_bool</a> <a class="code" href="structStrCSumPtrLen.html#a8">isCIEquivalentTo</a>(<span class="keyword">const</span> <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00313 <span class="keyword"> </span>{ |
| 00314 <span class="keywordflow">if</span> (<a class="code" href="structStrCSumPtrLen.html#a1">getCheckSum</a>() != rhs.<a class="code" href="structStrCSumPtrLen.html#a1">getCheckSum</a>()) |
| 00315 { |
| 00316 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00317 } |
| 00318 |
| 00319 <span class="keywordflow">return</span> static_cast<const StrPtrLen&>(*this).isCIEquivalentTo( |
| 00320 static_cast<const StrPtrLen&>(rhs)); |
| 00321 } |
| 00322 |
| <a name="l00323"></a><a class="code" href="structStrCSumPtrLen.html#a9">00323</a> <a class="code" href="group__osclbase.html#a24">c_bool</a> <a class="code" href="structStrCSumPtrLen.html#a9">operator==</a>(<span class="keyword">const</span> <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00324 <span class="keyword"> </span>{ |
| 00325 <span class="keywordflow">if</span> (<a class="code" href="structStrCSumPtrLen.html#a1">getCheckSum</a>() != rhs.<a class="code" href="structStrCSumPtrLen.html#a1">getCheckSum</a>()) |
| 00326 { |
| 00327 <span class="keywordflow">return</span> <span class="keyword">false</span>; |
| 00328 } |
| 00329 |
| 00330 <span class="keywordflow">return</span> (static_cast<const StrPtrLen&>(*this) |
| 00331 == static_cast<const StrPtrLen&>(rhs)); |
| 00332 } |
| 00333 |
| <a name="l00334"></a><a class="code" href="structStrCSumPtrLen.html#a10">00334</a> <a class="code" href="group__osclbase.html#a24">c_bool</a> <a class="code" href="structStrCSumPtrLen.html#a10">operator!=</a>(<span class="keyword">const</span> <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>& rhs)<span class="keyword"> const</span> |
| 00335 <span class="keyword"> </span>{ |
| 00336 <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == rhs); |
| 00337 } |
| 00338 |
| <a name="l00339"></a><a class="code" href="structStrCSumPtrLen.html#a11">00339</a> <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>& <a class="code" href="structStrCSumPtrLen.html#a11">operator=</a>(<span class="keyword">const</span> <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>& rhs) |
| 00340 { |
| 00341 <a class="code" href="structStrPtrLen.html#a12">StrPtrLen::operator=</a>(rhs); |
| 00342 this-><a class="code" href="structStrCSumPtrLen.html#n0">checkSum</a> = rhs.<a class="code" href="structStrCSumPtrLen.html#n0">checkSum</a>; |
| 00343 <span class="keywordflow">return</span> *<span class="keyword">this</span>; |
| 00344 } |
| 00345 |
| <a name="l00346"></a><a class="code" href="structStrCSumPtrLen.html#a12">00346</a> <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>& <a class="code" href="structStrCSumPtrLen.html#a11">operator=</a>(<span class="keyword">const</span> <a class="code" href="structStrPtrLen.html">StrPtrLen</a>& rhs) |
| 00347 { |
| 00348 <a class="code" href="structStrPtrLen.html#a12">StrPtrLen::operator=</a>(rhs); |
| 00349 <a class="code" href="structStrCSumPtrLen.html#a2">setCheckSum</a>(); |
| 00350 <span class="keywordflow">return</span> *<span class="keyword">this</span>; |
| 00351 } |
| 00352 |
| <a name="l00353"></a><a class="code" href="structStrCSumPtrLen.html#a13">00353</a> <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>& <a class="code" href="structStrCSumPtrLen.html#a11">operator=</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* rhs) |
| 00354 { |
| 00355 <a class="code" href="structStrPtrLen.html#a12">StrPtrLen::operator=</a>(rhs); |
| 00356 <a class="code" href="structStrCSumPtrLen.html#a2">setCheckSum</a>(); |
| 00357 <span class="keywordflow">return</span> *<span class="keyword">this</span>; |
| 00358 } |
| 00359 |
| 00360 } <a class="code" href="structStrCSumPtrLen.html">StrCSumPtrLen</a>; |
| 00361 |
| 00362 <span class="comment">// Set character code to UNICODE</span> |
| <a name="l00363"></a><a class="code" href="group__osclutil.html#a8">00363</a> <span class="keyword">typedef</span> <a class="code" href="structWStrPtrLen.html">WStrPtrLen</a> <a class="code" href="structWStrPtrLen.html">OSCL_TStrPtrLen</a>; |
| 00364 |
| 00365 <span class="preprocessor">#endif // OSCL_STR_PTR_LEN_H_INCLUDED</span> |
| 00366 <span class="preprocessor"></span> |
| </pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> |
| <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> |
| </small></address> |
| </body> |
| </html> |