• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>oscl_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> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
9<hr><h1>oscl_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> &amp; <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> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(int8 &amp; data);
19300237
19400239         <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(uint8 &amp; data);
19500240
19600242         <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(int16 &amp; data);
19700243
19800245         <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(uint16 &amp; data);
19900246
20000248         <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(int32 &amp; data);
20100249
20200251         <a class="code" href="classOsclBinIStreamLittleEndian.html">OsclBinIStreamLittleEndian</a> &amp; <a class="code" href="classOsclBinIStreamLittleEndian.html#a1">operator&gt;&gt;</a>(uint32 &amp; 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 &amp; data);
23700286
23800287         <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint8 &amp; data);
23900288
24000289         <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int16 &amp; data);
24100290
24200291         <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint16 &amp; data);
24300292
24400293         <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(int32 &amp; data);
24500294
24600295         <span class="keywordtype">void</span> <a class="code" href="classOsclBinIStreamBigEndian.html#a1">Read</a>(uint32 &amp; data);
24700296
24800298         <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(int8 &amp; data);
24900299
25000301         <a class="code" href="classOsclBinIStream.html">OsclBinIStream</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(uint8 &amp; data);
25100302
25200304         <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(int16 &amp; data);
25300305
25400307         <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(uint16 &amp; data);
25500308
25600310         <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(int32 &amp; data);
25700311
25800313         <a class="code" href="classOsclBinIStreamBigEndian.html">OsclBinIStreamBigEndian</a> &amp; <a class="code" href="classOsclBinIStreamBigEndian.html#a7">operator&gt;&gt;</a>(uint32 &amp; 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> &amp; <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> &amp; <a class="code" href="classOsclBinOStreamLittleEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> int8 &amp; data);
29700362
29800364         <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);
29900365
30000367         <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);
30100368
30200370         <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);
30300371
30400373         <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);
30500374
30600376         <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);
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> &amp; <a class="code" href="classOsclBinOStreamBigEndian.html#a1">operator&lt;&lt;</a>(<span class="keyword">const</span> int8 &amp; data);
32500399
32600401         <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);
32700402
32800404         <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);
32900405
33000407         <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);
33100408
33200410         <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);
33300411
33400413         <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);
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