blob: 775870a54f9ae367de2a19f22cb1c3c4d11eb4c6 [file] [log] [blame]
<!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> &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>
<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> &amp; <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> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(int8 &amp; data);
00237
00239 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(uint8 &amp; data);
00240
00242 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(int16 &amp; data);
00243
00245 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(uint16 &amp; data);
00246
00248 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(int32 &amp; data);
00249
00251 <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(uint32 &amp; 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 &amp; data);
00286
00287 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint8 &amp; data);
00288
00289 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int16 &amp; data);
00290
00291 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint16 &amp; data);
00292
00293 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int32 &amp; data);
00294
00295 <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint32 &amp; data);
00296
00298 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(int8 &amp; data);
00299
00301 <a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(uint8 &amp; data);
00302
00304 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(int16 &amp; data);
00305
00307 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(uint16 &amp; data);
00308
00310 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(int32 &amp; data);
00311
00313 <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(uint32 &amp; 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> &amp; <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> &amp; <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> int8 &amp; data);
00362
00364 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> uint8 &amp; data);
00365
00367 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> int16 &amp; data);
00368
00370 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> uint16 &amp; data);
00371
00373 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> int32 &amp; data);
00374
00376 <a class="code" href="classOsclBinOStreamLittleEndian.html">OsclBinOStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> uint32 &amp; 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> &amp; <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> int8 &amp; data);
00399
00401 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> &amp; <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> uint8 &amp; data);
00402
00404 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> &amp; <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> int16 &amp; data);
00405
00407 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> &amp; <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> uint16 &amp; data);
00408
00410 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> &amp; <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> int32 &amp; data);
00411
00413 <a class="code" href="classOsclBinOStreamBigEndian.html">OsclBinOStreamBigEndian</a> &amp; <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> uint32 &amp; 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_20090310 </small>
</small></address>
</body>
</html>