General purpose class used for encapsulating the reading and writing of data.  
 More...
#include <OgreDataStream.h>
|  | 
|  | DataStream (const String &name, uint16 accessMode=READ) | 
|  | Constructor for creating named streams. 
 | 
|  | 
|  | DataStream (uint16 accessMode=READ) | 
|  | Constructor for creating unnamed streams. 
 | 
|  | 
| virtual | ~DataStream () | 
|  | 
| virtual void | close ()=0 | 
|  | Close the stream; this makes further operations invalid. 
 | 
|  | 
| virtual bool | eof () const =0 | 
|  | Returns true if the stream has reached the end. 
 | 
|  | 
| uint16 | getAccessMode () const | 
|  | Gets the access mode of the stream. 
 | 
|  | 
| virtual String | getAsString () | 
|  | Returns a String containing the entire stream. 
 | 
|  | 
| virtual String | getLine (bool trimAfter=true) | 
|  | Returns a String containing the next line of data, optionally trimmed for whitespace. 
 | 
|  | 
| const String & | getName () | 
|  | Returns the name of the stream, if it has one. 
 | 
|  | 
| virtual bool | isReadable () const | 
|  | Reports whether this stream is readable. 
 | 
|  | 
| virtual bool | isWriteable () const | 
|  | Reports whether this stream is writeable. 
 | 
|  | 
| template<typename T > | 
| DataStream & | operator>> (T &val) | 
|  | 
| virtual size_t | read (void *buf, size_t count)=0 | 
|  | Read the requisite number of bytes from the stream, stopping at the end of the file. 
 | 
|  | 
| virtual size_t | readLine (char *buf, size_t maxCount, const String &delim="\n") | 
|  | Get a single line from the stream. 
 | 
|  | 
| virtual void | seek (size_t pos)=0 | 
|  | Repositions the read point to a specified byte. 
 | 
|  | 
| size_t | size () const | 
|  | Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream. 
 | 
|  | 
| virtual void | skip (long count)=0 | 
|  | Skip a defined number of bytes. 
 | 
|  | 
| virtual size_t | skipLine (const String &delim="\n") | 
|  | Skip a single line from the stream. 
 | 
|  | 
| virtual size_t | tell () const =0 | 
|  | Returns the current byte offset from beginning. 
 | 
|  | 
| virtual size_t | write (const void *buf, size_t count) | 
|  | Write the requisite number of bytes from the stream (only applicable to streams that are not read-only) 
 | 
|  | 
General purpose class used for encapsulating the reading and writing of data. 
- Generally, if a plugin or application provides an ArchiveFactory, it should also provide a DataStream subclass which will be used to stream data out of that Archive implementation, unless it can use one of the common implementations included. 
- Note
- Ogre 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. 
◆ AccessMode
◆ DataStream() [1/2]
  
  | 
        
          | Ogre::DataStream::DataStream | ( | uint16 | accessMode = READ | ) |  |  | inline | 
 
Constructor for creating unnamed streams. 
 
 
◆ DataStream() [2/2]
Constructor for creating named streams. 
 
 
◆ ~DataStream()
  
  | 
        
          | virtual Ogre::DataStream::~DataStream | ( |  | ) |  |  | inlinevirtual | 
 
 
◆ close()
  
  | 
        
          | virtual void Ogre::DataStream::close | ( |  | ) |  |  | pure virtual | 
 
 
◆ eof()
  
  | 
        
          | virtual bool Ogre::DataStream::eof | ( |  | ) | const |  | pure virtual | 
 
 
◆ getAccessMode()
  
  | 
        
          | uint16 Ogre::DataStream::getAccessMode | ( |  | ) | const |  | inline | 
 
Gets the access mode of the stream. 
 
 
◆ getAsString()
  
  | 
        
          | virtual String Ogre::DataStream::getAsString | ( |  | ) |  |  | virtual | 
 
Returns a String containing the entire stream. 
 
 
◆ getLine()
  
  | 
        
          | virtual String Ogre::DataStream::getLine | ( | bool | trimAfter = true | ) |  |  | virtual | 
 
Returns a String containing the next line of data, optionally trimmed for whitespace. 
- Note
- If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results. 
- Parameters
- 
  
    | trimAfter | If true, the line is trimmed for whitespace (as in String.trim(true,true)) |  
 
 
 
◆ getName()
  
  | 
        
          | const String & Ogre::DataStream::getName | ( |  | ) |  |  | inline | 
 
Returns the name of the stream, if it has one. 
 
 
◆ isReadable()
  
  | 
        
          | virtual bool Ogre::DataStream::isReadable | ( |  | ) | const |  | inlinevirtual | 
 
Reports whether this stream is readable. 
 
 
◆ isWriteable()
  
  | 
        
          | virtual bool Ogre::DataStream::isWriteable | ( |  | ) | const |  | inlinevirtual | 
 
Reports whether this stream is writeable. 
 
 
◆ operator>>()
template<typename T > 
      
        
          | DataStream & Ogre::DataStream::operator>> | ( | T & | val | ) |  | 
      
 
 
◆ read()
  
  | 
        
          | virtual size_t Ogre::DataStream::read | ( | void * | buf, |  
          |  |  | size_t | count |  
          |  | ) |  |  |  | pure virtual | 
 
 
◆ readLine()
  
  | 
        
          | virtual size_t Ogre::DataStream::readLine | ( | char * | buf, |  
          |  |  | size_t | maxCount, |  
          |  |  | const String & | delim = "\n" |  
          |  | ) |  |  |  | virtual | 
 
Get a single line from the stream. 
- Note
- If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results. 
- Parameters
- 
  
    | buf | Reference to a buffer pointer |  | maxCount | The maximum length of data to be read, excluding the terminating character |  | delim | The delimiter to stop at |  
 
- Returns
- The number of bytes read, excluding the terminating character 
Reimplemented in Ogre::MemoryDataStream, and Ogre::FileStreamDataStream.
 
 
◆ seek()
  
  | 
        
          | virtual void Ogre::DataStream::seek | ( | size_t | pos | ) |  |  | pure virtual | 
 
 
◆ size()
  
  | 
        
          | size_t Ogre::DataStream::size | ( |  | ) | const |  | inline | 
 
Returns the total size of the data to be read from the stream, or 0 if this is indeterminate for this stream. 
 
 
◆ skip()
  
  | 
        
          | virtual void Ogre::DataStream::skip | ( | long | count | ) |  |  | pure virtual | 
 
 
◆ skipLine()
  
  | 
        
          | virtual size_t Ogre::DataStream::skipLine | ( | const String & | delim = "\n" | ) |  |  | virtual | 
 
Skip a single line from the stream. 
- Note
- If you used this function, you must open the stream in binary mode, otherwise, it'll produce unexpected results. 
- Parameters
- 
  
    | delim | The delimiter(s) to stop at |  
 
- Returns
- The number of bytes skipped 
Reimplemented in Ogre::MemoryDataStream.
 
 
◆ tell()
  
  | 
        
          | virtual size_t Ogre::DataStream::tell | ( |  | ) | const |  | pure virtual | 
 
 
◆ write()
  
  | 
        
          | virtual size_t Ogre::DataStream::write | ( | const void * | buf, |  
          |  |  | size_t | count |  
          |  | ) |  |  |  | inlinevirtual | 
 
 
The documentation for this class was generated from the following file: