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_bin_stream.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> <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_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> 1000002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span> 1100003 1200004 <span class="comment">// O S C L _ B I N _ S T R E A M</span> 1300005 1400006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span> 1500007 1600021 <span class="comment">/*</span> 1700022 <span class="comment">** File: oscl_bin_stream.h</span> 1800023 <span class="comment">**</span> 1900024 <span class="comment">** Description:</span> 2000025 <span class="comment">** This module defines a set of binary stream classes to provide portability of code accross</span> 2100026 <span class="comment">** different platforms and compilers. Output and input stream classes are defined both for</span> 2200027 <span class="comment">** little endian and big endian byte orders. These classes should be used when sharing</span> 2300028 <span class="comment">** information across platforms (e.g. sending messages) instead of C structures. The classes</span> 2400029 <span class="comment">** will read/write in the correct byte order regardless of the platform you are running on.</span> 2500030 <span class="comment">** The classes are:</span> 2600031 <span class="comment">** OsclBinIStreamBigEndian - Input stream for big endian byte order.</span> 2700032 <span class="comment">** OsclBinIStreamLittleEndian - Input stream for little endian byte order.</span> 2800033 <span class="comment">** OsclBinOStreamBigEndian - Output stream for big endian byte order.</span> 2900034 <span class="comment">** OsclBinIStreamLittleEndian - Input stream for little endian byte order.</span> 3000035 <span class="comment">**</span> 3100036 <span class="comment">** The preprocessor defined constants BYTE_ORDER_BIG_ENDIAN, BYTE_ORDER_LITTLE_ENDIAN are defined</span> 3200037 <span class="comment">** in oscl_base.h and tell this module the byte order used by the native platform. This is used</span> 3300038 <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> 3400039 <span class="comment">** The preprocessor defined constant INTEGERS_BYTE_ALIGNED tells us if the platform supports</span> 3500040 <span class="comment">** accessing integers at any address.</span> 3600041 <span class="comment">*/</span> 3700042 <span class="preprocessor">#ifndef OSCL_BIN_STREAM_H_INCLUDED</span> 3800043 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_BIN_STREAM_H_INCLUDED</span> 3900044 <span class="preprocessor"></span> 4000045 <span class="comment">/*</span> 4100046 <span class="comment">** Includes</span> 4200047 <span class="comment">*/</span> 4300048 <span class="preprocessor">#ifndef OSCL_BASE_H_INCLUDED</span> 4400049 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="oscl__base_8h.html">oscl_base.h</a>"</span> 4500050 <span class="preprocessor">#endif</span> 4600051 <span class="preprocessor"></span> 4700052 4800053 4900054 <span class="comment">/*</span> 5000055 <span class="comment">** Classes</span> 5100056 <span class="comment">*/</span> 5200057 53<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> 5400059 { 5500060 <span class="keyword">public</span>: 56<a name="l00061"></a><a class="code" href="classOsclBinStream.html#a0">00061</a> <a class="code" href="classOsclBinStream.html#a0">OsclBinStream</a>() 5700062 : <a class="code" href="classOsclBinStream.html#n0">state</a>(<a class="code" href="classOsclBinStream.html#t3t0">GOOD_STATE</a>), 5800063 <a class="code" href="classOsclBinStream.html#n1">pBasePosition</a>(0), 5900064 <a class="code" href="classOsclBinStream.html#n2">pPosition</a>(0) 6000065 { 6100066 } 6200067 6300069 6400072 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#a1">good</a>(); 6500073 6600075 6700078 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#a2">eof</a>(); 6800079 6900081 7000084 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#a3">fail</a>(); 7100085 7200086 7300088 7400092 <span class="keywordtype">void</span> <a class="code" href="classOsclBinStream.html#a4">Attach</a>(<span class="keywordtype">void</span> * buffer, uint32 l_length); 7500093 7600095 7700100 <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); 7800101 7900102 8000104 8100108 uint32 <a class="code" href="classOsclBinStream.html#a6">tellg</a>(); 8200109 8300111 8400114 <span class="keywordtype">void</span> <a class="code" href="classOsclBinStream.html#a7">Seek</a>(uint32 absPosition); 8500115 8600117 8700120 uint32 <a class="code" href="classOsclBinStream.html#a8">PositionInBlock</a>(); 8800121 8900122 9000124 9100127 <span class="keywordtype">void</span> <a class="code" href="classOsclBinStream.html#a9">seekFromCurrentPosition</a>(int32 offset); 9200128 9300129 9400130 9500131 <span class="keyword">protected</span>: 9600132 9700133 <span class="comment">/*</span> 9800134 <span class="comment"> ** Description:</span> 9900135 <span class="comment"> ** Reserves space for storing/reading. If no space is available it sets the stream state</span> 10000136 <span class="comment"> ** to fail and returns false. If the end of the stream has been reached, it sets the state</span> 10100137 <span class="comment"> ** to end of stream.</span> 10200138 <span class="comment"> **</span> 10300139 <span class="comment"> ** Returns: true if space was successfully reserved.</span> 10400140 <span class="comment"> ** Side effects: None.</span> 10500141 <span class="comment"> */</span> 10600142 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#b0">ReserveSpace</a>(uint32 size); 10700143 10800144 <span class="keywordtype">bool</span> <a class="code" href="classOsclBinStream.html#b1">HaveRoomInCurrentBlock</a>(uint32 size); 10900145 110<a name="l00146"></a><a class="code" href="classOsclBinStream.html#t3">00146</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> 11100147 { 11200148 <a class="code" href="classOsclBinStream.html#t3t0">GOOD_STATE</a>, 11300149 <a class="code" href="classOsclBinStream.html#t3t1">EOF_STATE</a>, 11400150 <a class="code" href="classOsclBinStream.html#t3t2">FAIL_STATE</a> 11500151 } <a class="code" href="classOsclBinStream.html#t3">state_t</a>; 11600152 117<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>; 11800154 11900155 <span class="comment">/* Position of the beginning of the data buffer */</span> 120<a name="l00156"></a><a class="code" href="classOsclBinStream.html#n1">00156</a> uint8 * <a class="code" href="classOsclBinStream.html#n1">pBasePosition</a>; 12100157 12200158 <span class="comment">/* Current data buffer position */</span> 123<a name="l00159"></a><a class="code" href="classOsclBinStream.html#n2">00159</a> uint8 * <a class="code" href="classOsclBinStream.html#n2">pPosition</a>; 12400160 12500161 <span class="comment">/* length of data buffer */</span> 126<a name="l00162"></a><a class="code" href="classOsclBinStream.html#n3">00162</a> uint32 <a class="code" href="classOsclBinStream.html#n3">length</a>; 12700163 128<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>; 129<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>; 13000166 131<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>; 132<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>; 133<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>; 13400170 13500171 }; 13600172 13700173 <span class="comment">/*</span> 13800174 <span class="comment">** Class OsclBinIStream</span> 13900175 <span class="comment">** This class implements the basic stream functions for an input stream.</span> 14000176 <span class="comment">*/</span> 141<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> 14200178 { 14300179 <span class="keyword">private</span>: 14400180 <span class="keyword">public</span>: 14500181 <span class="comment">/*</span> 14600182 <span class="comment"> ** Description:</span> 14700183 <span class="comment"> ** Constructor.</span> 14800184 <span class="comment"> **</span> 14900185 <span class="comment"> ** Returns: None.</span> 15000186 <span class="comment"> ** Side effects: None.</span> 15100187 <span class="comment"> */</span> 152<a name="l00188"></a><a class="code" href="classOsclBinIStream.html#a0">00188</a> <a class="code" href="classOsclBinIStream.html#a0">OsclBinIStream</a>() 15300189 { 15400190 } 15500191 15600192 <span class="comment">/*</span> 15700193 <span class="comment"> ** Description:</span> 15800194 <span class="comment"> ** Destructor.</span> 15900195 <span class="comment"> **</span> 16000196 <span class="comment"> ** Returns: None.</span> 16100197 <span class="comment"> ** Side effects: None.</span> 16200198 <span class="comment"> */</span> 163<a name="l00199"></a><a class="code" href="classOsclBinIStream.html#a1">00199</a> <a class="code" href="classOsclBinIStream.html#a1">~OsclBinIStream</a>() 16400200 { 16500201 } 16600202 16700204 16800207 uint8 <a class="code" href="classOsclBinIStream.html#a2">Read_uint8</a>(); 16900208 17000210 17100214 <a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> & <a class="code" href="classOsclBinIStream.html#a3">get</a>( 17200215 int8 * data, 17300216 int32 size 17400217 ); 17500218 17600219 <span class="keyword">protected</span>: 17700220 17800221 17900222 }; 18000223 18100224 <span class="comment">/*</span> 18200225 <span class="comment">** Class OsclBinIStreamLittleEndian</span> 18300226 <span class="comment">** This class implements a binary input stream using little endian byte ordering</span> 18400227 <span class="comment">*/</span> 185<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> 18600229 { 18700230 <span class="keyword">public</span>: 188<a name="l00231"></a><a class="code" href="classOsclBinIStreamLittleEndian.html#a0">00231</a> <a class="code" href="classOsclBinIStreamLittleEndian.html#a0">OsclBinIStreamLittleEndian</a>() 18900232 { 19000233 } 19100234 19200236 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(int8 & data); 19300237 19400239 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(uint8 & data); 19500240 19600242 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(int16 & data); 19700243 19800245 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(uint16 & data); 19900246 20000248 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(int32 & data); 20100249 20200251 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> & <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator>></a>(uint32 & data); 20300252 20400253 <span class="keyword">protected</span>: 20500254 20600255 <span class="comment">/*</span> 20700256 <span class="comment"> ** Description:</span> 20800257 <span class="comment"> ** Reads an unsigned short from the stream.</span> 20900258 <span class="comment"> **</span> 21000259 <span class="comment"> ** Returns: Unsigned short read from the stream.</span> 21100260 <span class="comment"> ** Side effects: None.</span> 21200261 <span class="comment"> */</span> 21300262 uint16 <a class="code" href="classOsclBinIStreamLittleEndian.html#b0">Read_uint16</a>(); 21400263 <span class="comment">/*</span> 21500264 <span class="comment"> ** Description:</span> 21600265 <span class="comment"> ** Reads an unsigned long from the stream.</span> 21700266 <span class="comment"> **</span> 21800267 <span class="comment"> ** Returns: Unsigned long read from the stream.</span> 21900268 <span class="comment"> ** Side effects: None.</span> 22000269 <span class="comment"> */</span> 22100270 uint32 <a class="code" href="classOsclBinIStreamLittleEndian.html#b1">Read_uint32</a>(); 22200271 }; 22300272 22400273 22500274 <span class="comment">/*</span> 22600275 <span class="comment">** Class OsclBinIStreamBigEndian</span> 22700276 <span class="comment">** This class implements a binary input stream using big endian byte ordering</span> 22800277 <span class="comment">*/</span> 229<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> 23000279 { 23100280 <span class="keyword">public</span>: 232<a name="l00281"></a><a class="code" href="classOsclBinIStreamBigEndian.html#a0">00281</a> <a class="code" href="classOsclBinIStreamBigEndian.html#a0">OsclBinIStreamBigEndian</a>() 23300282 { 23400283 } 23500284 23600285 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int8 & data); 23700286 23800287 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint8 & data); 23900288 24000289 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int16 & data); 24100290 24200291 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint16 & data); 24300292 24400293 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int32 & data); 24500294 24600295 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint32 & data); 24700296 24800298 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(int8 & data); 24900299 25000301 <a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(uint8 & data); 25100302 25200304 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(int16 & data); 25300305 25400307 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(uint16 & data); 25500308 25600310 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(int32 & data); 25700311 25800313 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> & <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator>></a>(uint32 & data); 25900314 26000316 26100319 uint16 <a class="code" href="classOsclBinIStreamBigEndian.html#a13">Read_uint16</a>(); 26200320 26300322 26400325 uint32 <a class="code" href="classOsclBinIStreamBigEndian.html#a14">Read_uint32</a>(); 26500326 <span class="keyword">protected</span>: 26600327 26700328 }; 26800329 26900330 270<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> 27100333 { 27200334 <span class="keyword">public</span>: 273<a name="l00335"></a><a class="code" href="classOsclBinOStream.html#a0">00335</a> <a class="code" href="classOsclBinOStream.html#a0">OsclBinOStream</a>() 27400336 { 27500337 } 27600338 277<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>() 27800340 { 27900341 } 28000342 28100344 <a class="code" href="classOsclBinOStream.html">OsclBinOStream</a> & <a class="code" href="classOsclBinOStream.html#a2">write</a>( 28200345 <span class="keyword">const</span> int8 * data, <span class="comment">/* data to store */</span> 28300346 int32 size <span class="comment">/* length of data to store */</span> 28400347 ); 28500348 28600349 <span class="keyword">protected</span>: 28700350 }; 28800351 289<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> 29000354 { 29100355 <span class="keyword">public</span>: 292<a name="l00356"></a><a class="code" href="classOsclBinOStreamLittleEndian.html#a0">00356</a> <a class="code" href="classOsclBinOStreamLittleEndian.html#a0">OsclBinOStreamLittleEndian</a>() 29300357 { 29400358 } 29500359 29600361 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int8 & data); 29700362 29800364 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint8 & data); 29900365 30000367 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int16 & data); 30100368 30200370 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint16 & data); 30300371 30400373 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int32 & data); 30500374 30600376 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> & <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint32 & data); 30700377 30800378 <span class="keyword">protected</span>: 30900379 31000381 <span class="keywordtype">void</span> <a class="code" href="classOsclBinOStreamLittleEndian.html#b0">WriteUnsignedShort</a>(<span class="keyword">const</span> uint16 data); 31100382 31200384 <span class="keywordtype">void</span> <a class="code" href="classOsclBinOStreamLittleEndian.html#b1">WriteUnsignedLong</a>(<span class="keyword">const</span> uint32 data); 31300385 31400386 }; 31500387 31600388 317<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> 31800391 { 31900392 <span class="keyword">public</span>: 320<a name="l00393"></a><a class="code" href="classOsclBinOStreamBigEndian.html#a0">00393</a> <a class="code" href="classOsclBinOStreamBigEndian.html#a0">OsclBinOStreamBigEndian</a>() 32100394 { 32200395 } 32300396 32400398 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int8 & data); 32500399 32600401 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint8 & data); 32700402 32800404 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int16 & data); 32900405 33000407 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint16 & data); 33100408 33200410 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> int32 & data); 33300411 33400413 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> & <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator<<</a>(<span class="keyword">const</span> uint32 & data); 33500414 33600415 <span class="keyword">protected</span>: 33700416 33800417 <span class="comment">/*</span> 33900418 <span class="comment"> ** Description:</span> 34000419 <span class="comment"> ** Writes 'data' (unsigned short) to the stream.</span> 34100420 <span class="comment"> **</span> 34200421 <span class="comment"> ** Returns: None.</span> 34300422 <span class="comment"> ** Side effects: None.</span> 34400423 <span class="comment"> */</span> 34500424 <span class="keywordtype">void</span> <a class="code" href="classOsclBinOStreamBigEndian.html#b0">WriteUnsignedShort</a>(<span class="keyword">const</span> uint16 data); 34600425 34700426 <span class="comment">/*</span> 34800427 <span class="comment"> ** Description:</span> 34900428 <span class="comment"> ** Writes 'data' (unsigned long) to the stream.</span> 35000429 <span class="comment"> **</span> 35100430 <span class="comment"> ** Returns: None.</span> 35200431 <span class="comment"> ** Side effects: None.</span> 35300432 <span class="comment"> */</span> 35400433 <span class="keywordtype">void</span> <a class="code" href="classOsclBinOStreamBigEndian.html#b1">WriteUnsignedLong</a>(<span class="keyword">const</span> uint32 data); 35500434 }; 35600435 35700436 <span class="preprocessor">#if (!OSCL_DISABLE_INLINES)</span> 35800437 <span class="preprocessor"></span><span class="preprocessor">#include "oscl_bin_stream.inl"</span> 35900438 <span class="preprocessor">#endif</span> 36000439 <span class="preprocessor"></span> 36100440 <span class="preprocessor">#endif</span> 36200441 <span class="preprocessor"></span> 363</pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small> 364<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small> 365</small></address> 366</body> 367</html> 368