source: OGRE/trunk/ogrenew/Docs/api/html/classOgre_1_1DataStream.html @ 657

Revision 657, 37.2 KB checked in by mattausch, 18 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1<html>
2<head>
3<title>Ogre::DataStream class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>Ogre::DataStream Class Reference</h1>General purpose class used for encapsulating the reading of data. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>&gt;</code>
14<p>
15<p>Inheritance diagram for Ogre::DataStream:
16<p><center><img src="classOgre_1_1DataStream.png" usemap="#Ogre::DataStream_map" border="0" alt=""></center>
17<map name="Ogre::DataStream_map">
18<area href="classOgre_1_1FileHandleDataStream.html" alt="Ogre::FileHandleDataStream" shape="rect" coords="0,56,173,80">
19<area href="classOgre_1_1FileStreamDataStream.html" alt="Ogre::FileStreamDataStream" shape="rect" coords="183,56,356,80">
20<area href="classOgre_1_1MemoryDataStream.html" alt="Ogre::MemoryDataStream" shape="rect" coords="366,56,539,80">
21<area href="classOgre_1_1ZipDataStream.html" alt="Ogre::ZipDataStream" shape="rect" coords="549,56,722,80">
22</map>
23<a href="classOgre_1_1DataStream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
24<tr><td></td></tr>
25<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
26<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama0">DataStream</a> ()</td></tr>
27
28<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for creating unnamed streams.  <a href="#Ogre_1_1DataStreama0"></a><br><br></td></tr>
29<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama1">DataStream</a> (const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;name)</td></tr>
30
31<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for creating named streams.  <a href="#Ogre_1_1DataStreama1"></a><br><br></td></tr>
32<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreama11">getName</a> (void)</td></tr>
33
34<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the stream, if it has one.  <a href="#Ogre_1_1ZipDataStreama11"></a><br><br></td></tr>
35<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama3">~DataStream</a> ()</td></tr>
36
37<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;typename T&gt; <a class="el" href="classOgre_1_1DataStream.html">DataStream</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreama12">operator&gt;&gt;</a> (T &amp;val)</td></tr>
38
39<tr><td class="memItemLeft" nowrap align=right valign=top>virtual size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama5">read</a> (void *buf, size_t count)=0</td></tr>
40
41<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read the requisite number of bytes from the stream, stopping at the end of the file.  <a href="#Ogre_1_1DataStreama5"></a><br><br></td></tr>
42<tr><td class="memItemLeft" nowrap align=right valign=top>virtual size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama6">readLine</a> (char *buf, size_t maxCount, const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;delim="\n")=0</td></tr>
43
44<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a single line from the stream.  <a href="#Ogre_1_1DataStreama6"></a><br><br></td></tr>
45<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="namespaceOgre.html#a426">String</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreama13">getLine</a> (bool trimAfter=true)</td></tr>
46
47<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a String containing the next line of data, optionally trimmed for whitespace.  <a href="#Ogre_1_1ZipDataStreama13"></a><br><br></td></tr>
48<tr><td class="memItemLeft" nowrap align=right valign=top>virtual <a class="el" href="namespaceOgre.html#a426">String</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreama14">getAsString</a> (void)</td></tr>
49
50<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a String containing the entire stream.  <a href="#Ogre_1_1ZipDataStreama14"></a><br><br></td></tr>
51<tr><td class="memItemLeft" nowrap align=right valign=top>virtual size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama9">skipLine</a> (const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;delim="\n")=0</td></tr>
52
53<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Skip a single line from the stream.  <a href="#Ogre_1_1DataStreama9"></a><br><br></td></tr>
54<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama10">skip</a> (long count)=0</td></tr>
55
56<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Skip a defined number of bytes.  <a href="#Ogre_1_1DataStreama10"></a><br><br></td></tr>
57<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama11">seek</a> (size_t pos)=0</td></tr>
58
59<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Repositions the read point to a specified byte.  <a href="#Ogre_1_1DataStreama11"></a><br><br></td></tr>
60<tr><td class="memItemLeft" nowrap align=right valign=top>virtual size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama12">tell</a> (void) const=0</td></tr>
61
62<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current byte offset from beginning.  <a href="#Ogre_1_1DataStreama12"></a><br><br></td></tr>
63<tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama13">eof</a> (void) const=0</td></tr>
64
65<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the stream has reached the end.  <a href="#Ogre_1_1DataStreama13"></a><br><br></td></tr>
66<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreama15">size</a> (void) const </td></tr>
67
68<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream.  <a href="#Ogre_1_1ZipDataStreama15"></a><br><br></td></tr>
69<tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1DataStreama15">close</a> (void)=0</td></tr>
70
71<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the stream; this makes further operations invalid.  <a href="#Ogre_1_1DataStreama15"></a><br><br></td></tr>
72<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
73<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a426">String</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreamp2">mName</a></td></tr>
74
75<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name (e.g. resource name) that can be used to identify the source fot his data (optional).  <a href="#Ogre_1_1ZipDataStreamp2"></a><br><br></td></tr>
76<tr><td class="memItemLeft" nowrap align=right valign=top>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreamp3">mSize</a></td></tr>
77
78<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of the data in the stream (may be 0 if size cannot be determined).  <a href="#Ogre_1_1ZipDataStreamp3"></a><br><br></td></tr>
79<tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreamp4">mTmpArea</a> [OGRE_STREAM_TEMP_SIZE]</td></tr>
80
81<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporary buffer area used for formatted read.  <a href="#Ogre_1_1ZipDataStreamp4"></a><br><br></td></tr>
82</table>
83<hr><a name="_details"></a><h2>Detailed Description</h2>
84General purpose class used for encapsulating the reading of data.
85<p>
86<dl compact><dt><b>Remarks:</b></dt><dd>This class performs basically the same tasks as std::basic_istream, except that it does not have any formatting capabilities, and is designed to be subclassed to receive data from multiple sources, including libraries which have no compatiblity with the STL's stream interfaces. As such, this is an abstraction of a set of wrapper classes which pretend to be standard stream classes but can actually be implemented quite differently. </dd></dl>
87<dl compact><dt><b></b></dt><dd>Generally, if a plugin or application provides an <a class="el" href="classOgre_1_1ArchiveFactory.html">ArchiveFactory</a>, it should also provide a <a class="el" href="classOgre_1_1DataStream.html">DataStream</a> subclass which will be used to stream data out of that <a class="el" href="classOgre_1_1Archive.html">Archive</a> implementation, unless it can use one of the common implementations included. </dd></dl>
88<dl compact><dt><b>Note:</b></dt><dd><a class="el" href="namespaceOgre.html">Ogre</a> makes no guarantees about thread safety, for performance reasons. If you wish to access stream data asynchronously then you should organise your own mutexes to avoid race conditions.</dd></dl>
89
90<p>
91
92<p>
93Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00054">54</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
94<a class="anchor" name="Ogre_1_1DataStreama0" doxytag="Ogre::DataStream::DataStream" ></a><p>
95<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
96  <tr>
97    <td class="mdRow">
98      <table cellpadding="0" cellspacing="0" border="0">
99        <tr>
100          <td class="md" nowrap valign="top"> Ogre::DataStream::DataStream </td>
101          <td class="md" valign="top">(&nbsp;</td>
102          <td class="mdname1" valign="top" nowrap>          </td>
103          <td class="md" valign="top">&nbsp;)&nbsp;</td>
104          <td class="md" nowrap></td>
105        </tr>
106
107      </table>
108    </td>
109  </tr>
110</table>
111<table cellspacing=5 cellpadding=0 border=0>
112  <tr>
113    <td>
114      &nbsp;
115    </td>
116    <td>
117
118<p>
119Constructor for creating unnamed streams.
120<p>
121
122<p>
123Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00066">66</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.    </td>
124  </tr>
125</table>
126<a class="anchor" name="Ogre_1_1DataStreama1" doxytag="Ogre::DataStream::DataStream" ></a><p>
127<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
128  <tr>
129    <td class="mdRow">
130      <table cellpadding="0" cellspacing="0" border="0">
131        <tr>
132          <td class="md" nowrap valign="top"> Ogre::DataStream::DataStream </td>
133          <td class="md" valign="top">(&nbsp;</td>
134          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
135          <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
136          <td class="md" valign="top">&nbsp;)&nbsp;</td>
137          <td class="md" nowrap></td>
138        </tr>
139
140      </table>
141    </td>
142  </tr>
143</table>
144<table cellspacing=5 cellpadding=0 border=0>
145  <tr>
146    <td>
147      &nbsp;
148    </td>
149    <td>
150
151<p>
152Constructor for creating named streams.
153<p>
154
155<p>
156Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00068">68</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.
157<p>
158References <a class="el" href="OgrePrerequisites_8h-source.html#l00154">Ogre::String</a>.    </td>
159  </tr>
160</table>
161<a class="anchor" name="Ogre_1_1DataStreama3" doxytag="Ogre::DataStream::~DataStream" ></a><p>
162<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
163  <tr>
164    <td class="mdRow">
165      <table cellpadding="0" cellspacing="0" border="0">
166        <tr>
167          <td class="md" nowrap valign="top"> virtual Ogre::DataStream::~<a class="el" href="classOgre_1_1DataStream.html">DataStream</a> </td>
168          <td class="md" valign="top">(&nbsp;</td>
169          <td class="mdname1" valign="top" nowrap>          </td>
170          <td class="md" valign="top">&nbsp;)&nbsp;</td>
171          <td class="md" nowrap><code> [virtual]</code></td>
172        </tr>
173
174      </table>
175    </td>
176  </tr>
177</table>
178<table cellspacing=5 cellpadding=0 border=0>
179  <tr>
180    <td>
181      &nbsp;
182    </td>
183    <td>
184
185<p>
186
187<p>
188Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00071">71</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.    </td>
189  </tr>
190</table>
191<hr><h2>Member Function Documentation</h2>
192<a class="anchor" name="Ogre_1_1DataStreama15" doxytag="Ogre::DataStream::close" ></a><p>
193<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
194  <tr>
195    <td class="mdRow">
196      <table cellpadding="0" cellspacing="0" border="0">
197        <tr>
198          <td class="md" nowrap valign="top"> virtual void Ogre::DataStream::close </td>
199          <td class="md" valign="top">(&nbsp;</td>
200          <td class="md" nowrap valign="top">void&nbsp;</td>
201          <td class="mdname1" valign="top" nowrap>          </td>
202          <td class="md" valign="top">&nbsp;)&nbsp;</td>
203          <td class="md" nowrap><code> [pure virtual]</code></td>
204        </tr>
205
206      </table>
207    </td>
208  </tr>
209</table>
210<table cellspacing=5 cellpadding=0 border=0>
211  <tr>
212    <td>
213      &nbsp;
214    </td>
215    <td>
216
217<p>
218Close the stream; this makes further operations invalid.
219<p>
220
221<p>
222Implemented in <a class="el" href="classOgre_1_1MemoryDataStream.html#Ogre_1_1MemoryDataStreama18">Ogre::MemoryDataStream</a>, <a class="el" href="classOgre_1_1FileStreamDataStream.html#Ogre_1_1FileStreamDataStreama11">Ogre::FileStreamDataStream</a>, <a class="el" href="classOgre_1_1FileHandleDataStream.html#Ogre_1_1FileHandleDataStreama10">Ogre::FileHandleDataStream</a>, and <a class="el" href="classOgre_1_1ZipDataStream.html#Ogre_1_1ZipDataStreama10">Ogre::ZipDataStream</a>.    </td>
223  </tr>
224</table>
225<a class="anchor" name="Ogre_1_1DataStreama13" doxytag="Ogre::DataStream::eof" ></a><p>
226<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
227  <tr>
228    <td class="mdRow">
229      <table cellpadding="0" cellspacing="0" border="0">
230        <tr>
231          <td class="md" nowrap valign="top"> virtual bool Ogre::DataStream::eof </td>
232          <td class="md" valign="top">(&nbsp;</td>
233          <td class="md" nowrap valign="top">void&nbsp;</td>
234          <td class="mdname1" valign="top" nowrap>          </td>
235          <td class="md" valign="top">&nbsp;)&nbsp;</td>
236          <td class="md" nowrap> const<code> [pure virtual]</code></td>
237        </tr>
238
239      </table>
240    </td>
241  </tr>
242</table>
243<table cellspacing=5 cellpadding=0 border=0>
244  <tr>
245    <td>
246      &nbsp;
247    </td>
248    <td>
249
250<p>
251Returns true if the stream has reached the end.
252<p>
253
254<p>
255Implemented in <a class="el" href="classOgre_1_1MemoryDataStream.html#Ogre_1_1MemoryDataStreama17">Ogre::MemoryDataStream</a>, <a class="el" href="classOgre_1_1FileStreamDataStream.html#Ogre_1_1FileStreamDataStreama10">Ogre::FileStreamDataStream</a>, <a class="el" href="classOgre_1_1FileHandleDataStream.html#Ogre_1_1FileHandleDataStreama9">Ogre::FileHandleDataStream</a>, and <a class="el" href="classOgre_1_1ZipDataStream.html#Ogre_1_1ZipDataStreama9">Ogre::ZipDataStream</a>.    </td>
256  </tr>
257</table>
258<a class="anchor" name="Ogre_1_1ZipDataStreama14" doxytag="Ogre::DataStream::getAsString" ></a><p>
259<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
260  <tr>
261    <td class="mdRow">
262      <table cellpadding="0" cellspacing="0" border="0">
263        <tr>
264          <td class="md" nowrap valign="top"> virtual <a class="el" href="namespaceOgre.html#a426">String</a> Ogre::DataStream::getAsString </td>
265          <td class="md" valign="top">(&nbsp;</td>
266          <td class="md" nowrap valign="top">void&nbsp;</td>
267          <td class="mdname1" valign="top" nowrap>          </td>
268          <td class="md" valign="top">&nbsp;)&nbsp;</td>
269          <td class="md" nowrap><code> [virtual]</code></td>
270        </tr>
271
272      </table>
273    </td>
274  </tr>
275</table>
276<table cellspacing=5 cellpadding=0 border=0>
277  <tr>
278    <td>
279      &nbsp;
280    </td>
281    <td>
282
283<p>
284Returns a String containing the entire stream.
285<p>
286<dl compact><dt><b>Remarks:</b></dt><dd>This is a convenience method for text streams only, allowing you to retrieve a String object containing all the data in the stream.</dd></dl>
287    </td>
288  </tr>
289</table>
290<a class="anchor" name="Ogre_1_1ZipDataStreama13" doxytag="Ogre::DataStream::getLine" ></a><p>
291<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
292  <tr>
293    <td class="mdRow">
294      <table cellpadding="0" cellspacing="0" border="0">
295        <tr>
296          <td class="md" nowrap valign="top"> virtual <a class="el" href="namespaceOgre.html#a426">String</a> Ogre::DataStream::getLine </td>
297          <td class="md" valign="top">(&nbsp;</td>
298          <td class="md" nowrap valign="top">bool&nbsp;</td>
299          <td class="mdname1" valign="top" nowrap> <em>trimAfter</em> = true          </td>
300          <td class="md" valign="top">&nbsp;)&nbsp;</td>
301          <td class="md" nowrap><code> [virtual]</code></td>
302        </tr>
303
304      </table>
305    </td>
306  </tr>
307</table>
308<table cellspacing=5 cellpadding=0 border=0>
309  <tr>
310    <td>
311      &nbsp;
312    </td>
313    <td>
314
315<p>
316Returns a String containing the next line of data, optionally trimmed for whitespace.
317<p>
318<dl compact><dt><b>Remarks:</b></dt><dd>This is a convenience method for text streams only, allowing you to retrieve a String object containing the next line of data. The data is read up to the next newline character and the result trimmed if required. </dd></dl>
319<dl compact><dt><b>Parameters:</b></dt><dd>
320  <table border="0" cellspacing="2" cellpadding="0">
321    <tr><td valign=top><em>trimAfter</em>&nbsp;</td><td>If true, the line is trimmed for whitespace (as in String.trim(true,true))</td></tr>
322  </table>
323</dl>
324    </td>
325  </tr>
326</table>
327<a class="anchor" name="Ogre_1_1ZipDataStreama11" doxytag="Ogre::DataStream::getName" ></a><p>
328<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
329  <tr>
330    <td class="mdRow">
331      <table cellpadding="0" cellspacing="0" border="0">
332        <tr>
333          <td class="md" nowrap valign="top"> const <a class="el" href="namespaceOgre.html#a426">String</a>&amp; Ogre::DataStream::getName </td>
334          <td class="md" valign="top">(&nbsp;</td>
335          <td class="md" nowrap valign="top">void&nbsp;</td>
336          <td class="mdname1" valign="top" nowrap>          </td>
337          <td class="md" valign="top">&nbsp;)&nbsp;</td>
338          <td class="md" nowrap></td>
339        </tr>
340
341      </table>
342    </td>
343  </tr>
344</table>
345<table cellspacing=5 cellpadding=0 border=0>
346  <tr>
347    <td>
348      &nbsp;
349    </td>
350    <td>
351
352<p>
353Returns the name of the stream, if it has one.
354<p>
355
356<p>
357Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00070">70</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.
358<p>
359References <a class="el" href="OgrePrerequisites_8h-source.html#l00154">Ogre::String</a>.    </td>
360  </tr>
361</table>
362<a class="anchor" name="Ogre_1_1ZipDataStreama12" doxytag="Ogre::DataStream::operator>>" ></a><p>
363<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
364  <tr>
365    <td class="mdRow">
366      <table cellpadding="0" cellspacing="0" border="0">
367        <tr>
368          <td class="md" colspan="4">
369template&lt;typename T&gt; </td>
370        </tr>
371        <tr>
372          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1DataStream.html">DataStream</a>&amp; Ogre::DataStream::operator&gt;&gt; </td>
373          <td class="md" valign="top">(&nbsp;</td>
374          <td class="md" nowrap valign="top">T &amp;&nbsp;</td>
375          <td class="mdname1" valign="top" nowrap> <em>val</em>          </td>
376          <td class="md" valign="top">&nbsp;)&nbsp;</td>
377          <td class="md" nowrap></td>
378        </tr>
379
380      </table>
381    </td>
382  </tr>
383</table>
384<table cellspacing=5 cellpadding=0 border=0>
385  <tr>
386    <td>
387      &nbsp;
388    </td>
389    <td>
390
391<p>
392    </td>
393  </tr>
394</table>
395<a class="anchor" name="Ogre_1_1DataStreama5" doxytag="Ogre::DataStream::read" ></a><p>
396<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
397  <tr>
398    <td class="mdRow">
399      <table cellpadding="0" cellspacing="0" border="0">
400        <tr>
401          <td class="md" nowrap valign="top"> virtual size_t Ogre::DataStream::read </td>
402          <td class="md" valign="top">(&nbsp;</td>
403          <td class="md" nowrap valign="top">void *&nbsp;</td>
404          <td class="mdname" nowrap> <em>buf</em>, </td>
405        </tr>
406        <tr>
407          <td class="md" nowrap align="right"></td>
408          <td></td>
409          <td class="md" nowrap>size_t&nbsp;</td>
410          <td class="mdname" nowrap> <em>count</em></td>
411        </tr>
412        <tr>
413          <td></td>
414          <td class="md">)&nbsp;</td>
415          <td class="md" colspan="2"><code> [pure virtual]</code></td>
416        </tr>
417
418      </table>
419    </td>
420  </tr>
421</table>
422<table cellspacing=5 cellpadding=0 border=0>
423  <tr>
424    <td>
425      &nbsp;
426    </td>
427    <td>
428
429<p>
430Read the requisite number of bytes from the stream, stopping at the end of the file.
431<p>
432<dl compact><dt><b>Parameters:</b></dt><dd>
433  <table border="0" cellspacing="2" cellpadding="0">
434    <tr><td valign=top><em>buf</em>&nbsp;</td><td>Reference to a buffer pointer </td></tr>
435    <tr><td valign=top><em>count</em>&nbsp;</td><td>Number of bytes to read </td></tr>
436  </table>
437</dl>
438<dl compact><dt><b>Returns:</b></dt><dd>The number of bytes read</dd></dl>
439
440<p>
441Implemented in <a class="el" href="classOgre_1_1MemoryDataStream.html#Ogre_1_1MemoryDataStreama11">Ogre::MemoryDataStream</a>, <a class="el" href="classOgre_1_1FileStreamDataStream.html#Ogre_1_1FileStreamDataStreama4">Ogre::FileStreamDataStream</a>, <a class="el" href="classOgre_1_1FileHandleDataStream.html#Ogre_1_1FileHandleDataStreama3">Ogre::FileHandleDataStream</a>, and <a class="el" href="classOgre_1_1ZipDataStream.html#Ogre_1_1ZipDataStreama3">Ogre::ZipDataStream</a>.    </td>
442  </tr>
443</table>
444<a class="anchor" name="Ogre_1_1DataStreama6" doxytag="Ogre::DataStream::readLine" ></a><p>
445<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
446  <tr>
447    <td class="mdRow">
448      <table cellpadding="0" cellspacing="0" border="0">
449        <tr>
450          <td class="md" nowrap valign="top"> virtual size_t Ogre::DataStream::readLine </td>
451          <td class="md" valign="top">(&nbsp;</td>
452          <td class="md" nowrap valign="top">char *&nbsp;</td>
453          <td class="mdname" nowrap> <em>buf</em>, </td>
454        </tr>
455        <tr>
456          <td class="md" nowrap align="right"></td>
457          <td></td>
458          <td class="md" nowrap>size_t&nbsp;</td>
459          <td class="mdname" nowrap> <em>maxCount</em>, </td>
460        </tr>
461        <tr>
462          <td class="md" nowrap align="right"></td>
463          <td></td>
464          <td class="md" nowrap>const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
465          <td class="mdname" nowrap> <em>delim</em> = "\n"</td>
466        </tr>
467        <tr>
468          <td></td>
469          <td class="md">)&nbsp;</td>
470          <td class="md" colspan="2"><code> [pure virtual]</code></td>
471        </tr>
472
473      </table>
474    </td>
475  </tr>
476</table>
477<table cellspacing=5 cellpadding=0 border=0>
478  <tr>
479    <td>
480      &nbsp;
481    </td>
482    <td>
483
484<p>
485Get a single line from the stream.
486<p>
487<dl compact><dt><b>Remarks:</b></dt><dd>The delimiter character is not included in the data returned, and it is skipped over so the next read will occur after it. The buffer contents will include a terminating character. </dd></dl>
488<dl compact><dt><b>Parameters:</b></dt><dd>
489  <table border="0" cellspacing="2" cellpadding="0">
490    <tr><td valign=top><em>buf</em>&nbsp;</td><td>Reference to a buffer pointer </td></tr>
491    <tr><td valign=top><em>maxCount</em>&nbsp;</td><td>The maximum length of data to be read, excluding the terminating character </td></tr>
492    <tr><td valign=top><em>delim</em>&nbsp;</td><td>The delimiter to stop at </td></tr>
493  </table>
494</dl>
495<dl compact><dt><b>Returns:</b></dt><dd>The number of bytes read, excluding the terminating character</dd></dl>
496
497<p>
498Implemented in <a class="el" href="classOgre_1_1MemoryDataStream.html#Ogre_1_1MemoryDataStreama12">Ogre::MemoryDataStream</a>, <a class="el" href="classOgre_1_1FileStreamDataStream.html#Ogre_1_1FileStreamDataStreama5">Ogre::FileStreamDataStream</a>, <a class="el" href="classOgre_1_1FileHandleDataStream.html#Ogre_1_1FileHandleDataStreama4">Ogre::FileHandleDataStream</a>, and <a class="el" href="classOgre_1_1ZipDataStream.html#Ogre_1_1ZipDataStreama4">Ogre::ZipDataStream</a>.    </td>
499  </tr>
500</table>
501<a class="anchor" name="Ogre_1_1DataStreama11" doxytag="Ogre::DataStream::seek" ></a><p>
502<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
503  <tr>
504    <td class="mdRow">
505      <table cellpadding="0" cellspacing="0" border="0">
506        <tr>
507          <td class="md" nowrap valign="top"> virtual void Ogre::DataStream::seek </td>
508          <td class="md" valign="top">(&nbsp;</td>
509          <td class="md" nowrap valign="top">size_t&nbsp;</td>
510          <td class="mdname1" valign="top" nowrap> <em>pos</em>          </td>
511          <td class="md" valign="top">&nbsp;)&nbsp;</td>
512          <td class="md" nowrap><code> [pure virtual]</code></td>
513        </tr>
514
515      </table>
516    </td>
517  </tr>
518</table>
519<table cellspacing=5 cellpadding=0 border=0>
520  <tr>
521    <td>
522      &nbsp;
523    </td>
524    <td>
525
526<p>
527Repositions the read point to a specified byte.
528<p>
529
530<p>
531Implemented in <a class="el" href="classOgre_1_1MemoryDataStream.html#Ogre_1_1MemoryDataStreama15">Ogre::MemoryDataStream</a>, <a class="el" href="classOgre_1_1FileStreamDataStream.html#Ogre_1_1FileStreamDataStreama8">Ogre::FileStreamDataStream</a>, <a class="el" href="classOgre_1_1FileHandleDataStream.html#Ogre_1_1FileHandleDataStreama7">Ogre::FileHandleDataStream</a>, and <a class="el" href="classOgre_1_1ZipDataStream.html#Ogre_1_1ZipDataStreama7">Ogre::ZipDataStream</a>.    </td>
532  </tr>
533</table>
534<a class="anchor" name="Ogre_1_1ZipDataStreama15" doxytag="Ogre::DataStream::size" ></a><p>
535<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
536  <tr>
537    <td class="mdRow">
538      <table cellpadding="0" cellspacing="0" border="0">
539        <tr>
540          <td class="md" nowrap valign="top"> size_t Ogre::DataStream::size </td>
541          <td class="md" valign="top">(&nbsp;</td>
542          <td class="md" nowrap valign="top">void&nbsp;</td>
543          <td class="mdname1" valign="top" nowrap>          </td>
544          <td class="md" valign="top">&nbsp;)&nbsp;</td>
545          <td class="md" nowrap> const</td>
546        </tr>
547
548      </table>
549    </td>
550  </tr>
551</table>
552<table cellspacing=5 cellpadding=0 border=0>
553  <tr>
554    <td>
555      &nbsp;
556    </td>
557    <td>
558
559<p>
560Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream.
561<p>
562
563<p>
564Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00138">138</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.    </td>
565  </tr>
566</table>
567<a class="anchor" name="Ogre_1_1DataStreama10" doxytag="Ogre::DataStream::skip" ></a><p>
568<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
569  <tr>
570    <td class="mdRow">
571      <table cellpadding="0" cellspacing="0" border="0">
572        <tr>
573          <td class="md" nowrap valign="top"> virtual void Ogre::DataStream::skip </td>
574          <td class="md" valign="top">(&nbsp;</td>
575          <td class="md" nowrap valign="top">long&nbsp;</td>
576          <td class="mdname1" valign="top" nowrap> <em>count</em>          </td>
577          <td class="md" valign="top">&nbsp;)&nbsp;</td>
578          <td class="md" nowrap><code> [pure virtual]</code></td>
579        </tr>
580
581      </table>
582    </td>
583  </tr>
584</table>
585<table cellspacing=5 cellpadding=0 border=0>
586  <tr>
587    <td>
588      &nbsp;
589    </td>
590    <td>
591
592<p>
593Skip a defined number of bytes.
594<p>
595This can also be a negative value, in which case the file pointer rewinds a defined number of bytes.
596<p>
597Implemented in <a class="el" href="classOgre_1_1MemoryDataStream.html#Ogre_1_1MemoryDataStreama14">Ogre::MemoryDataStream</a>, <a class="el" href="classOgre_1_1FileStreamDataStream.html#Ogre_1_1FileStreamDataStreama7">Ogre::FileStreamDataStream</a>, <a class="el" href="classOgre_1_1FileHandleDataStream.html#Ogre_1_1FileHandleDataStreama6">Ogre::FileHandleDataStream</a>, and <a class="el" href="classOgre_1_1ZipDataStream.html#Ogre_1_1ZipDataStreama6">Ogre::ZipDataStream</a>.    </td>
598  </tr>
599</table>
600<a class="anchor" name="Ogre_1_1DataStreama9" doxytag="Ogre::DataStream::skipLine" ></a><p>
601<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
602  <tr>
603    <td class="mdRow">
604      <table cellpadding="0" cellspacing="0" border="0">
605        <tr>
606          <td class="md" nowrap valign="top"> virtual size_t Ogre::DataStream::skipLine </td>
607          <td class="md" valign="top">(&nbsp;</td>
608          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
609          <td class="mdname1" valign="top" nowrap> <em>delim</em> = "\n"          </td>
610          <td class="md" valign="top">&nbsp;)&nbsp;</td>
611          <td class="md" nowrap><code> [pure virtual]</code></td>
612        </tr>
613
614      </table>
615    </td>
616  </tr>
617</table>
618<table cellspacing=5 cellpadding=0 border=0>
619  <tr>
620    <td>
621      &nbsp;
622    </td>
623    <td>
624
625<p>
626Skip a single line from the stream.
627<p>
628<dl compact><dt><b>Parameters:</b></dt><dd>
629  <table border="0" cellspacing="2" cellpadding="0">
630    <tr><td valign=top><em>delim</em>&nbsp;</td><td>The delimiter(s) to stop at </td></tr>
631  </table>
632</dl>
633<dl compact><dt><b>Returns:</b></dt><dd>The number of bytes skipped</dd></dl>
634
635<p>
636Implemented in <a class="el" href="classOgre_1_1MemoryDataStream.html#Ogre_1_1MemoryDataStreama13">Ogre::MemoryDataStream</a>, <a class="el" href="classOgre_1_1FileStreamDataStream.html#Ogre_1_1FileStreamDataStreama6">Ogre::FileStreamDataStream</a>, <a class="el" href="classOgre_1_1FileHandleDataStream.html#Ogre_1_1FileHandleDataStreama5">Ogre::FileHandleDataStream</a>, and <a class="el" href="classOgre_1_1ZipDataStream.html#Ogre_1_1ZipDataStreama5">Ogre::ZipDataStream</a>.    </td>
637  </tr>
638</table>
639<a class="anchor" name="Ogre_1_1DataStreama12" doxytag="Ogre::DataStream::tell" ></a><p>
640<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
641  <tr>
642    <td class="mdRow">
643      <table cellpadding="0" cellspacing="0" border="0">
644        <tr>
645          <td class="md" nowrap valign="top"> virtual size_t Ogre::DataStream::tell </td>
646          <td class="md" valign="top">(&nbsp;</td>
647          <td class="md" nowrap valign="top">void&nbsp;</td>
648          <td class="mdname1" valign="top" nowrap>          </td>
649          <td class="md" valign="top">&nbsp;)&nbsp;</td>
650          <td class="md" nowrap> const<code> [pure virtual]</code></td>
651        </tr>
652
653      </table>
654    </td>
655  </tr>
656</table>
657<table cellspacing=5 cellpadding=0 border=0>
658  <tr>
659    <td>
660      &nbsp;
661    </td>
662    <td>
663
664<p>
665Returns the current byte offset from beginning.
666<p>
667
668<p>
669Implemented in <a class="el" href="classOgre_1_1MemoryDataStream.html#Ogre_1_1MemoryDataStreama16">Ogre::MemoryDataStream</a>, <a class="el" href="classOgre_1_1FileStreamDataStream.html#Ogre_1_1FileStreamDataStreama9">Ogre::FileStreamDataStream</a>, <a class="el" href="classOgre_1_1FileHandleDataStream.html#Ogre_1_1FileHandleDataStreama8">Ogre::FileHandleDataStream</a>, and <a class="el" href="classOgre_1_1ZipDataStream.html#Ogre_1_1ZipDataStreama8">Ogre::ZipDataStream</a>.    </td>
670  </tr>
671</table>
672<hr><h2>Member Data Documentation</h2>
673<a class="anchor" name="Ogre_1_1ZipDataStreamp2" doxytag="Ogre::DataStream::mName" ></a><p>
674<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
675  <tr>
676    <td class="mdRow">
677      <table cellpadding="0" cellspacing="0" border="0">
678        <tr>
679          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a426">String</a> <a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreamp2">Ogre::DataStream::mName</a><code> [protected]</code>
680      </table>
681    </td>
682  </tr>
683</table>
684<table cellspacing=5 cellpadding=0 border=0>
685  <tr>
686    <td>
687      &nbsp;
688    </td>
689    <td>
690
691<p>
692The name (e.g. resource name) that can be used to identify the source fot his data (optional).
693<p>
694
695<p>
696Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00058">58</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.    </td>
697  </tr>
698</table>
699<a class="anchor" name="Ogre_1_1ZipDataStreamp3" doxytag="Ogre::DataStream::mSize" ></a><p>
700<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
701  <tr>
702    <td class="mdRow">
703      <table cellpadding="0" cellspacing="0" border="0">
704        <tr>
705          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreamp3">Ogre::DataStream::mSize</a><code> [protected]</code>
706      </table>
707    </td>
708  </tr>
709</table>
710<table cellspacing=5 cellpadding=0 border=0>
711  <tr>
712    <td>
713      &nbsp;
714    </td>
715    <td>
716
717<p>
718Size of the data in the stream (may be 0 if size cannot be determined).
719<p>
720
721<p>
722Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00060">60</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.    </td>
723  </tr>
724</table>
725<a class="anchor" name="Ogre_1_1ZipDataStreamp4" doxytag="Ogre::DataStream::mTmpArea" ></a><p>
726<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
727  <tr>
728    <td class="mdRow">
729      <table cellpadding="0" cellspacing="0" border="0">
730        <tr>
731          <td class="md" nowrap valign="top"> char <a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreamp4">Ogre::DataStream::mTmpArea</a>[OGRE_STREAM_TEMP_SIZE]<code> [protected]</code>
732      </table>
733    </td>
734  </tr>
735</table>
736<table cellspacing=5 cellpadding=0 border=0>
737  <tr>
738    <td>
739      &nbsp;
740    </td>
741    <td>
742
743<p>
744Temporary buffer area used for formatted read.
745<p>
746
747<p>
748Definition at line <a class="el" href="OgreDataStream_8h-source.html#l00063">63</a> of file <a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>.    </td>
749  </tr>
750</table>
751<hr>The documentation for this class was generated from the following file:<ul>
752<li><a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a></ul>
753<hr>
754<p>
755Copyright &copy; 2000-2005 by The OGRE Team<br />
756<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
757This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
758                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
759                <Work rdf:about="">
760                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
761        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
762                </Work>
763                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
764
765Last modified Sun Feb 12 13:00:18 2006
766</p>
767</body>
768</html>
Note: See TracBrowser for help on using the repository browser.