Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > media > contrib > by-pkgid > 04e5d8c10ae76748689b4e7f48e0fa33 > files > 1596

libogre5-devel-1.0.0-1mdk.i586.rpm

<html>
<head>
<title>Ogre::DataStream class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<link type="text/css" rel="stylesheet" href="style.css">
</head>

<body>
<!-- Generated by Doxygen 1.3.6 -->
<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>
<h1>Ogre::DataStream Class Reference</h1>General purpose class used for encapsulating the reading of data.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a>&gt;</code>
<p>
Inheritance diagram for Ogre::DataStream:<p><center><img src="classOgre_1_1DataStream__inherit__graph.png" border="0" usemap="#Ogre_1_1DataStream__inherit__map" alt="Inheritance graph"></center>
<map name="Ogre_1_1DataStream__inherit__map">
<area href="classOgre_1_1FileHandleDataStream.html" shape="rect" coords="188,5,367,23" alt="">
<area href="classOgre_1_1FileStreamDataStream.html" shape="rect" coords="187,47,368,66" alt="">
<area href="classOgre_1_1MemoryDataStream.html" shape="rect" coords="195,90,360,109" alt="">
<area href="classOgre_1_1ZipDataStream.html" shape="rect" coords="209,133,345,151" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classOgre_1_1DataStream-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<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>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for creating unnamed streams.  <a href="#Ogre_1_1DataStreama0"></a><br><br></td></tr>
<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>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for creating named streams.  <a href="#Ogre_1_1DataStreama1"></a><br><br></td></tr>
<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_1ZipDataStreama10">getName</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the name of the stream, if it has one.  <a href="#Ogre_1_1ZipDataStreama10"></a><br><br></td></tr>
<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>

<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_1ZipDataStreama11">operator&gt;&gt;</a> (T &amp;val)</td></tr>

<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>

<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>
<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>

<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>
<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_1ZipDataStreama12">getLine</a> (bool trimAfter=true)</td></tr>

<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_1ZipDataStreama12"></a><br><br></td></tr>
<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">getAsString</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a String containing the entire stream.  <a href="#Ogre_1_1ZipDataStreama13"></a><br><br></td></tr>
<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>

<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>
<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>

<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>
<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>

<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>
<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>

<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>
<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>

<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>
<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_1ZipDataStreama14">size</a> (void) const </td></tr>

<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_1ZipDataStreama14"></a><br><br></td></tr>
<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>

<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>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<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_1ZipDataStreamp1">mName</a></td></tr>

<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_1ZipDataStreamp1"></a><br><br></td></tr>
<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_1ZipDataStreamp2">mSize</a></td></tr>

<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_1ZipDataStreamp2"></a><br><br></td></tr>
<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_1ZipDataStreamp3">mTmpArea</a> [OGRE_STREAM_TEMP_SIZE]</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Temporary buffer area used for formatted read.  <a href="#Ogre_1_1ZipDataStreamp3"></a><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
General purpose class used for encapsulating the reading of data. 
<p>
<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>
<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>
<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>

<p>

<p>
Definition 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>
<a class="anchor" name="Ogre_1_1DataStreama0" doxytag="Ogre::DataStream::DataStream" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Ogre::DataStream::DataStream </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constructor for creating unnamed streams. 
<p>

<p>
Definition 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>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama1" doxytag="Ogre::DataStream::DataStream" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> Ogre::DataStream::DataStream </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>name</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constructor for creating named streams. 
<p>

<p>
Definition 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>.
<p>
References <a class="el" href="OgrePrerequisites_8h-source.html#l00154">Ogre::String</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama3" doxytag="Ogre::DataStream::~DataStream" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual Ogre::DataStream::~<a class="el" href="classOgre_1_1DataStream.html">DataStream</a> </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition 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>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="Ogre_1_1DataStreama15" doxytag="Ogre::DataStream::close" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::DataStream::close </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Close the stream; this makes further operations invalid. 
<p>

<p>
Implemented 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_1ZipDataStreama9">Ogre::ZipDataStream</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama13" doxytag="Ogre::DataStream::eof" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual bool Ogre::DataStream::eof </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns true if the stream has reached the end. 
<p>

<p>
Implemented 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_1ZipDataStreama8">Ogre::ZipDataStream</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1ZipDataStreama13" doxytag="Ogre::DataStream::getAsString" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="namespaceOgre.html#a426">String</a> Ogre::DataStream::getAsString </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns a String containing the entire stream. 
<p>
<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>
    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1ZipDataStreama12" doxytag="Ogre::DataStream::getLine" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual <a class="el" href="namespaceOgre.html#a426">String</a> Ogre::DataStream::getLine </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>trimAfter</em> = true          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns a String containing the next line of data, optionally trimmed for whitespace. 
<p>
<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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <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>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1ZipDataStreama10" doxytag="Ogre::DataStream::getName" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const <a class="el" href="namespaceOgre.html#a426">String</a>&amp; Ogre::DataStream::getName </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the name of the stream, if it has one. 
<p>

<p>
Definition 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>.
<p>
References <a class="el" href="OgrePrerequisites_8h-source.html#l00154">Ogre::String</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1ZipDataStreama11" doxytag="Ogre::DataStream::operator>>" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;typename T&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1DataStream.html">DataStream</a>&amp; Ogre::DataStream::operator&gt;&gt; </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">T &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>val</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama5" doxytag="Ogre::DataStream::read" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual size_t Ogre::DataStream::read </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname" nowrap> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap> <em>count</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Read the requisite number of bytes from the stream, stopping at the end of the file. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>buf</em>&nbsp;</td><td>Reference to a buffer pointer </td></tr>
    <tr><td valign=top><em>count</em>&nbsp;</td><td>Number of bytes to read </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The number of bytes read</dd></dl>

<p>
Implemented 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_1ZipDataStreama2">Ogre::ZipDataStream</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama6" doxytag="Ogre::DataStream::readLine" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual size_t Ogre::DataStream::readLine </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">char *&nbsp;</td>
          <td class="mdname" nowrap> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap> <em>maxCount</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>delim</em> = "\n"</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get a single line from the stream. 
<p>
<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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>buf</em>&nbsp;</td><td>Reference to a buffer pointer </td></tr>
    <tr><td valign=top><em>maxCount</em>&nbsp;</td><td>The maximum length of data to be read, excluding the terminating character </td></tr>
    <tr><td valign=top><em>delim</em>&nbsp;</td><td>The delimiter to stop at </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The number of bytes read, excluding the terminating character</dd></dl>

<p>
Implemented 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_1ZipDataStreama3">Ogre::ZipDataStream</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama11" doxytag="Ogre::DataStream::seek" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::DataStream::seek </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">size_t&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>pos</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Repositions the read point to a specified byte. 
<p>

<p>
Implemented 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_1ZipDataStreama6">Ogre::ZipDataStream</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1ZipDataStreama14" doxytag="Ogre::DataStream::size" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t Ogre::DataStream::size </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream. 
<p>

<p>
Definition 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>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama10" doxytag="Ogre::DataStream::skip" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual void Ogre::DataStream::skip </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">long&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>count</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Skip a defined number of bytes. 
<p>
This can also be a negative value, in which case the file pointer rewinds a defined number of bytes. 
<p>
Implemented 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_1ZipDataStreama5">Ogre::ZipDataStream</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama9" doxytag="Ogre::DataStream::skipLine" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual size_t Ogre::DataStream::skipLine </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="namespaceOgre.html#a426">String</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>delim</em> = "\n"          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Skip a single line from the stream. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>delim</em>&nbsp;</td><td>The delimiter(s) to stop at </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The number of bytes skipped</dd></dl>

<p>
Implemented 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_1ZipDataStreama4">Ogre::ZipDataStream</a>.    </td>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1DataStreama12" doxytag="Ogre::DataStream::tell" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual size_t Ogre::DataStream::tell </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the current byte offset from beginning. 
<p>

<p>
Implemented 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_1ZipDataStreama7">Ogre::ZipDataStream</a>.    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="Ogre_1_1ZipDataStreamp1" doxytag="Ogre::DataStream::mName" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <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_1ZipDataStreamp1">Ogre::DataStream::mName</a><code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The name (e.g. resource name) that can be used to identify the source fot his data (optional). 
<p>

<p>
Definition 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>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1ZipDataStreamp2" doxytag="Ogre::DataStream::mSize" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t <a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreamp2">Ogre::DataStream::mSize</a><code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Size of the data in the stream (may be 0 if size cannot be determined). 
<p>

<p>
Definition 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>
  </tr>
</table>
<a class="anchor" name="Ogre_1_1ZipDataStreamp3" doxytag="Ogre::DataStream::mTmpArea" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char <a class="el" href="classOgre_1_1DataStream.html#Ogre_1_1ZipDataStreamp3">Ogre::DataStream::mTmpArea</a>[OGRE_STREAM_TEMP_SIZE]<code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Temporary buffer area used for formatted read. 
<p>

<p>
Definition 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>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="OgreDataStream_8h-source.html">OgreDataStream.h</a></ul>
<p>
Copyright &copy; 2000-2005 by The OGRE Team<br />
Last modified Wed Feb 23 00:19:46 2005
</p>
</body>
</html>