| <!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_bin_stream.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_bin_stream.h</h1><a href="oscl__bin__stream_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 _ B I N _ S T R E A M</span> |
| 00005 |
| 00006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span> |
| 00007 |
| 00021 <span class="comment">/*</span> |
| 00022 <span class="comment">** File: oscl_bin_stream.h</span> |
| 00023 <span class="comment">**</span> |
| 00024 <span class="comment">** Description:</span> |
| 00025 <span class="comment">** This module defines a set of binary stream classes to provide portability of code accross</span> |
| 00026 <span class="comment">** different platforms and compilers. Output and input stream classes are defined both for</span> |
| 00027 <span class="comment">** little endian and big endian byte orders. These classes should be used when sharing</span> |
| 00028 <span class="comment">** information across platforms (e.g. sending messages) instead of C structures. The classes</span> |
| 00029 <span class="comment">** will read/write in the correct byte order regardless of the platform you are running on.</span> |
| 00030 <span class="comment">** The classes are:</span> |
| 00031 <span class="comment">** OsclBinIStreamBigEndian - Input stream for big endian byte order.</span> |
| 00032 <span class="comment">** OsclBinIStreamLittleEndian - Input stream for little endian byte order.</span> |
| 00033 <span class="comment">** OsclBinOStreamBigEndian - Output stream for big endian byte order.</span> |
| 00034 <span class="comment">** OsclBinIStreamLittleEndian - Input stream for little endian byte order.</span> |
| 00035 <span class="comment">**</span> |
| 00036 <span class="comment">** The preprocessor defined constants BYTE_ORDER_BIG_ENDIAN, BYTE_ORDER_LITTLE_ENDIAN are defined</span> |
| 00037 <span class="comment">** in oscl_base.h and tell this module the byte order used by the native platform. This is used</span> |
| 00038 <span class="comment">** to decide if we can do a straight copy or we need to manipulate the field one byte at a time.</span> |
| 00039 <span class="comment">** The preprocessor defined constant INTEGERS_BYTE_ALIGNED tells us if the platform supports</span> |
| 00040 <span class="comment">** accessing integers at any address.</span> |
| 00041 <span class="comment">*/</span> |
| 00042 <span class="preprocessor">#ifndef OSCL_BIN_STREAM_H_INCLUDED</span> |
| 00043 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_BIN_STREAM_H_INCLUDED</span> |
| 00044 <span class="preprocessor"></span> |
| 00045 <span class="comment">/*</span> |
| 00046 <span class="comment">** Includes</span> |
| 00047 <span class="comment">*/</span> |
| 00048 <span class="preprocessor">#ifndef OSCL_BASE_H_INCLUDED</span> |
| 00049 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="oscl__base_8h.html">oscl_base.h</a>"</span> |
| 00050 <span class="preprocessor">#endif</span> |
| 00051 <span class="preprocessor"></span> |
| 00052 |
| 00053 |
| 00054 <span class="comment">/*</span> |
| 00055 <span class="comment">** Classes</span> |
| 00056 <span class="comment">*/</span> |
| 00057 |
| <a name="l00058"></a><a class="code" href="classOsclBinStream.html">00058</a> <span class="keyword">class </span><a class="code" href="classOsclBinStream.html">OsclBinStream</a> |
| 00059 { |
| 00060 <span class="keyword">public</span>: |
| <a name="l00061"></a><a class="code" href="classOsclBinStream.html#a0">00061</a> <a class="code" href="classOsclBinStream.html#a0">OsclBinStream</a>() |
| 00062 : <a class="code" href="classOsclBinStream.html#n0">state</a>(<a class="code" href="classOsclBinStream.html#t3t0">GOOD_STATE</a>), |
| 00063 <a class="code" href="classOsclBinStream.html#n1">pBasePosition</a>(0), |
| 00064 <a class="code" href="classOsclBinStream.html#n2">pPosition</a>(0) |
| 00065 { |
| 00066 } |
| 00067 |
| 00069 |
| 00072 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#a1">good</a>(); |
| 00073 |
| 00075 |
| 00078 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#a2">eof</a>(); |
| 00079 |
| 00081 |
| 00084 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#a3">fail</a>(); |
| 00085 |
| 00086 |
| 00088 |
| 00092 <span class="keywordtype">void</span> <a class="code" href="classOsclBinStream.html#a4">Attach</a>(<span class="keywordtype">void</span> * buffer, uint32 l_length); |
| 00093 |
| 00095 |
| 00100 <span class="keywordtype">void</span> <a class="code" href="classOsclBinStream.html#a4">Attach</a>(<span class="keyword">const</span> uint32 numFragments, <span class="keyword">const</span> <a class="code" href="structOsclMemoryFragment.html">OsclMemoryFragment</a> * fragPtr); |
| 00101 |
| 00102 |
| 00104 |
| 00108 uint32 <a class="code" href="classOsclBinStream.html#a6">tellg</a>(); |
| 00109 |
| 00111 |
| 00114 <span class="keywordtype">void</span> <a class="code" href="classOsclBinStream.html#a7">Seek</a>(uint32 absPosition); |
| 00115 |
| 00117 |
| 00120 uint32 <a class="code" href="classOsclBinStream.html#a8">PositionInBlock</a>(); |
| 00121 |
| 00122 |
| 00124 |
| 00127 <span class="keywordtype">void</span> <a class="code" href="classOsclBinStream.html#a9">seekFromCurrentPosition</a>(int32 offset); |
| 00128 |
| 00129 |
| 00130 |
| 00131 <span class="keyword">protected</span>: |
| 00132 |
| 00133 <span class="comment">/*</span> |
| 00134 <span class="comment"> ** Description:</span> |
| 00135 <span class="comment"> ** Reserves space for storing/reading. If no space is available it sets the stream state</span> |
| 00136 <span class="comment"> ** to fail and returns false. If the end of the stream has been reached, it sets the state</span> |
| 00137 <span class="comment"> ** to end of stream.</span> |
| 00138 <span class="comment"> **</span> |
| 00139 <span class="comment"> ** Returns: true if space was successfully reserved.</span> |
| 00140 <span class="comment"> ** Side effects: None.</span> |
| 00141 <span class="comment"> */</span> |
| 00142 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#b0">ReserveSpace</a>(uint32 size); |
| 00143 |
| 00144 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#b1">HaveRoomInCurrentBlock</a>(uint32 size); |
| 00145 |
| <a name="l00146"></a><a class="code" href="classOsclBinStream.html#t3">00146</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> |
| 00147 { |
| 00148 <a class="code" href="classOsclBinStream.html#t3t0">GOOD_STATE</a>, |
| 00149 <a class="code" href="classOsclBinStream.html#t3t1">EOF_STATE</a>, |
| 00150 <a class="code" href="classOsclBinStream.html#t3t2">FAIL_STATE</a> |
| 00151 } <a class="code" href="classOsclBinStream.html#t3">state_t</a>; |
| 00152 |
| <a name="l00153"></a><a class="code" href="classOsclBinStream.html#n0">00153</a> <a class="code" href="classOsclBinStream.html#t3">state_t</a> <a class="code" href="classOsclBinStream.html#n0">state</a>; |
| 00154 |
| 00155 <span class="comment">/* Position of the beginning of the data buffer */</span> |
| <a name="l00156"></a><a class="code" href="classOsclBinStream.html#n1">00156</a> uint8 * <a class="code" href="classOsclBinStream.html#n1">pBasePosition</a>; |
| 00157 |
| 00158 <span class="comment">/* Current data buffer position */</span> |
| <a name="l00159"></a><a class="code" href="classOsclBinStream.html#n2">00159</a> uint8 * <a class="code" href="classOsclBinStream.html#n2">pPosition</a>; |
| 00160 |
| 00161 <span class="comment">/* length of data buffer */</span> |
| <a name="l00162"></a><a class="code" href="classOsclBinStream.html#n3">00162</a> uint32 <a class="code" href="classOsclBinStream.html#n3">length</a>; |
| 00163 |
| <a name="l00164"></a><a class="code" href="classOsclBinStream.html#n4">00164</a> <span class="keyword">const</span> <a class="code" href="structOsclMemoryFragment.html">OsclMemoryFragment</a> * <a class="code" href="classOsclBinStream.html#n4">nextFragPtr</a>; |
| <a name="l00165"></a><a class="code" href="classOsclBinStream.html#n5">00165</a> <span class="keywordtype">int</span> <a class="code" href="classOsclBinStream.html#n5">fragsLeft</a>; |
| 00166 |
| <a name="l00167"></a><a class="code" href="classOsclBinStream.html#n6">00167</a> <span class="keyword">const</span> <a class="code" href="structOsclMemoryFragment.html">OsclMemoryFragment</a> * <a class="code" href="classOsclBinStream.html#n6">firstFragPtr</a>; |
| <a name="l00168"></a><a class="code" href="classOsclBinStream.html#n7">00168</a> <span class="keywordtype">int</span> <a class="code" href="classOsclBinStream.html#n7">numFrags</a>; |
| <a name="l00169"></a><a class="code" href="classOsclBinStream.html#n8">00169</a> <a class="code" href="structOsclMemoryFragment.html">OsclMemoryFragment</a> <a class="code" href="classOsclBinStream.html#n8">specialFragBuffer</a>; |
| 00170 |
| 00171 }; |
| 00172 |
| 00173 <span class="comment">/*</span> |
| 00174 <span class="comment">** Class OsclBinIStream</span> |
| 00175 <span class="comment">** This class implements the basic stream functions for an input stream.</span> |
| 00176 <span class="comment">*/</span> |
| <a name="l00177"></a><a class="code" href="classOsclBinIStream.html">00177</a> <span class="keyword">class </span><a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> : <span class="keyword">public</span> <a class="code" href="classOsclBinStream.html">OsclBinStream</a> |
| 00178 { |
| 00179 <span class="keyword">private</span>: |
| 00180 <span class="keyword">public</span>: |
| 00181 <span class="comment">/*</span> |
| 00182 <span class="comment"> ** Description:</span> |
| 00183 <span class="comment"> ** Constructor.</span> |
| 00184 <span class="comment"> **</span> |
| 00185 <span class="comment"> ** Returns: None.</span> |
| 00186 <span class="comment"> ** Side effects: None.</span> |
| 00187 <span class="comment"> */</span> |
| <a name="l00188"></a><a class="code" href="classOsclBinIStream.html#a0">00188</a> <a class="code" href="classOsclBinIStream.html#a0">OsclBinIStream</a>() |
| 00189 { |
| 00190 } |
| 00191 |
| 00192 <span class="comment">/*</span> |
| 00193 <span class="comment"> ** Description:</span> |
| 00194 <span class="comment"> ** Destructor.</span> |
| 00195 <span class="comment"> **</span> |
| 00196 <span class="comment"> ** Returns: None.</span> |
| 00197 <span class="comment"> ** Side effects: None.</span> |
| 00198 <span class="comment"> */</span> |
| <a name="l00199"></a><a class="code" href="classOsclBinIStream.html#a1">00199</a> <a class="code" href="classOsclBinIStream.html#a1">~OsclBinIStream</a>() |
| 00200 { |
| 00201 } |
| 00202 |
| 00204 |
| 00207 uint8 <a class="code" href="classOsclBinIStream.html#a2">Read_uint8</a>(); |
| 00208 |
| 00210 |
| 00214 <a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> & <a class="code" href="classOsclBinIStream.html#a3">get</a>( |
| 00215 int8 * data, |
| 00216 int32 size |
| 00217 ); |
| 00218 |
| 00219 <span class="keyword">protected</span>: |
| 00220 |
| 00221 |
| 00222 }; |
| 00223 |
| 00224 <span class="comment">/*</span> |
| 00225 <span class="comment">** Class OsclBinIStreamLittleEndian</span> |
| 00226 <span class="comment">** This class implements a binary input stream using little endian byte ordering</span> |
| 00227 <span class="comment">*/</span> |
| <a name="l00228"></a><a class="code" href="classOsclBinIStreamLittleEndian.html">00228</a> <span class="keyword">class </span><a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> : <span class="keyword">public</span> <a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> |
| 00229 { |
| 00230 <span class="keyword">public</span>: |
| <a name="l00231"></a><a class="code" href="classOsclBinIStreamLittleEndian.html#a0">00231</a> <a class="code" href="classOsclBinIStreamLittleEndian.html#a0">OsclBinIStreamLittleEndian</a>() |
| 00232 { |
| 00233 } |
| 00234 |
| 00236 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(int8 & data); |
| 00237 |
| 00239 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(uint8 & data); |
| 00240 |
| 00242 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(int16 & data); |
| 00243 |
| 00245 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(uint16 & data); |
| 00246 |
| 00248 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(int32 & data); |
| 00249 |
| 00251 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(uint32 & data); |
| 00252 |
| 00253 <span class="keyword">protected</span>: |
| 00254 |
| 00255 <span class="comment">/*</span> |
| 00256 <span class="comment"> ** Description:</span> |
| 00257 <span class="comment"> ** Reads an unsigned short from the stream.</span> |
| 00258 <span class="comment"> **</span> |
| 00259 <span class="comment"> ** Returns: Unsigned short read from the stream.</span> |
| 00260 <span class="comment"> ** Side effects: None.</span> |
| 00261 <span class="comment"> */</span> |
| 00262 uint16 <a class="code" href="classOsclBinIStreamLittleEndian.html#b0">Read_uint16</a>(); |
| 00263 <span class="comment">/*</span> |
| 00264 <span class="comment"> ** Description:</span> |
| 00265 <span class="comment"> ** Reads an unsigned long from the stream.</span> |
| 00266 <span class="comment"> **</span> |
| 00267 <span class="comment"> ** Returns: Unsigned long read from the stream.</span> |
| 00268 <span class="comment"> ** Side effects: None.</span> |
| 00269 <span class="comment"> */</span> |
| 00270 uint32 <a class="code" href="classOsclBinIStreamLittleEndian.html#b1">Read_uint32</a>(); |
| 00271 }; |
| 00272 |
| 00273 |
| 00274 <span class="comment">/*</span> |
| 00275 <span class="comment">** Class OsclBinIStreamBigEndian</span> |
| 00276 <span class="comment">** This class implements a binary input stream using big endian byte ordering</span> |
| 00277 <span class="comment">*/</span> |
| <a name="l00278"></a><a class="code" href="classOsclBinIStreamBigEndian.html">00278</a> <span class="keyword">class </span><a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> : <span class="keyword">public</span> <a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> |
| 00279 { |
| 00280 <span class="keyword">public</span>: |
| <a name="l00281"></a><a class="code" href="classOsclBinIStreamBigEndian.html#a0">00281</a> <a class="code" href="classOsclBinIStreamBigEndian.html#a0">OsclBinIStreamBigEndian</a>() |
| 00282 { |
| 00283 } |
| 00284 |
| 00285 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int8 & data); |
| 00286 |
| 00287 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint8 & data); |
| 00288 |
| 00289 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int16 & data); |
| 00290 |
| 00291 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint16 & data); |
| 00292 |
| 00293 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int32 & data); |
| 00294 |
| 00295 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint32 & data); |
| 00296 |
| 00298 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(int8 & data); |
| 00299 |
| 00301 <a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(uint8 & data); |
| 00302 |
| 00304 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(int16 & data); |
| 00305 |
| 00307 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(uint16 & data); |
| 00308 |
| 00310 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(int32 & data); |
| 00311 |
| 00313 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(uint32 & data); |
| 00314 |
| 00316 |
| 00319 uint16 <a class="code" href="classOsclBinIStreamBigEndian.html#a13">Read_uint16</a>(); |
| 00320 |
| 00322 |
| 00325 uint32 <a class="code" href="classOsclBinIStreamBigEndian.html#a14">Read_uint32</a>(); |
| 00326 <span class="keyword">protected</span>: |
| 00327 |
| 00328 }; |
| 00329 |
| 00330 |
| <a name="l00332"></a><a class="code" href="classOsclBinOStream.html">00332</a> <span class="keyword">class </span><a class="code" href="classOsclBinOStream.html">OsclBinOStream</a> : <span class="keyword">public</span> <a class="code" href="classOsclBinStream.html">OsclBinStream</a> |
| 00333 { |
| 00334 <span class="keyword">public</span>: |
| <a name="l00335"></a><a class="code" href="classOsclBinOStream.html#a0">00335</a> <a class="code" href="classOsclBinOStream.html#a0">OsclBinOStream</a>() |
| 00336 { |
| 00337 } |
| 00338 |
| <a name="l00339"></a><a class="code" href="classOsclBinOStream.html#a1">00339</a> <span class="keyword">virtual</span> <a class="code" href="classOsclBinOStream.html#a1">~OsclBinOStream</a>() |
| 00340 { |
| 00341 } |
| 00342 |
| 00344 <a class="code" href="classOsclBinOStream.html">OsclBinOStream</a> & <a class="code" href="classOsclBinOStream.html#a2">write</a>( |
| 00345 <span class="keyword">const</span> int8 * data, <span class="comment">/* data to store */</span> |
| 00346 int32 size <span class="comment">/* length of data to store */</span> |
| 00347 ); |
| 00348 |
| 00349 <span class="keyword">protected</span>: |
| 00350 }; |
| 00351 |
| <a name="l00353"></a><a class="code" href="classOsclBinOStreamLittleEndian.html">00353</a> <span class="keyword">class </span><a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> : <span class="keyword">public</span> <a class="code" href="classOsclBinOStream.html">OsclBinOStream</a> |
| 00354 { |
| 00355 <span class="keyword">public</span>: |
| <a name="l00356"></a><a class="code" href="classOsclBinOStreamLittleEndian.html#a0">00356</a> <a class="code" href="classOsclBinOStreamLittleEndian.html#a0">OsclBinOStreamLittleEndian</a>() |
| 00357 { |
| 00358 } |
| 00359 |
| 00361 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int8 & data); |
| 00362 |
| 00364 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint8 & data); |
| 00365 |
| 00367 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int16 & data); |
| 00368 |
| 00370 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint16 & data); |
| 00371 |
| 00373 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int32 & data); |
| 00374 |
| 00376 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint32 & data); |
| 00377 |
| 00378 <span class="keyword">protected</span>: |
| 00379 |
| 00381 <span class="keywordtype">void</span> <a class="code" href="classOsclBinOStreamLittleEndian.html#b0">WriteUnsignedShort</a>(<span class="keyword">const</span> uint16 data); |
| 00382 |
| 00384 <span class="keywordtype">void</span> <a class="code" href="classOsclBinOStreamLittleEndian.html#b1">WriteUnsignedLong</a>(<span class="keyword">const</span> uint32 data); |
| 00385 |
| 00386 }; |
| 00387 |
| 00388 |
| <a name="l00390"></a><a class="code" href="classOsclBinOStreamBigEndian.html">00390</a> <span class="keyword">class </span><a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> : <span class="keyword">public</span> <a class="code" href="classOsclBinOStream.html">OsclBinOStream</a> |
| 00391 { |
| 00392 <span class="keyword">public</span>: |
| <a name="l00393"></a><a class="code" href="classOsclBinOStreamBigEndian.html#a0">00393</a> <a class="code" href="classOsclBinOStreamBigEndian.html#a0">OsclBinOStreamBigEndian</a>() |
| 00394 { |
| 00395 } |
| 00396 |
| 00398 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int8 & data); |
| 00399 |
| 00401 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint8 & data); |
| 00402 |
| 00404 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int16 & data); |
| 00405 |
| 00407 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint16 & data); |
| 00408 |
| 00410 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int32 & data); |
| 00411 |
| 00413 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint32 & data); |
| 00414 |
| 00415 <span class="keyword">protected</span>: |
| 00416 |
| 00417 <span class="comment">/*</span> |
| 00418 <span class="comment"> ** Description:</span> |
| 00419 <span class="comment"> ** Writes 'data' (unsigned short) to the stream.</span> |
| 00420 <span class="comment"> **</span> |
| 00421 <span class="comment"> ** Returns: None.</span> |
| 00422 <span class="comment"> ** Side effects: None.</span> |
| 00423 <span class="comment"> */</span> |
| 00424 <span class="keywordtype">void</span> <a class="code" href="classOsclBinOStreamBigEndian.html#b0">WriteUnsignedShort</a>(<span class="keyword">const</span> uint16 data); |
| 00425 |
| 00426 <span class="comment">/*</span> |
| 00427 <span class="comment"> ** Description:</span> |
| 00428 <span class="comment"> ** Writes 'data' (unsigned long) to the stream.</span> |
| 00429 <span class="comment"> **</span> |
| 00430 <span class="comment"> ** Returns: None.</span> |
| 00431 <span class="comment"> ** Side effects: None.</span> |
| 00432 <span class="comment"> */</span> |
| 00433 <span class="keywordtype">void</span> <a class="code" href="classOsclBinOStreamBigEndian.html#b1">WriteUnsignedLong</a>(<span class="keyword">const</span> uint32 data); |
| 00434 }; |
| 00435 |
| 00436 <span class="preprocessor">#if (!OSCL_DISABLE_INLINES)</span> |
| 00437 <span class="preprocessor"></span><span class="preprocessor">#include "oscl_bin_stream.inl"</span> |
| 00438 <span class="preprocessor">#endif</span> |
| 00439 <span class="preprocessor"></span> |
| 00440 <span class="preprocessor">#endif</span> |
| 00441 <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_20090120 </small> |
| </small></address> |
| </body> |
| </html> |